Редактор Gutenberg стал стандартом в WordPress с версии 5.0, но многие разработчики и пользователи предпочитают классический редактор по разным причинам: привычный интерфейс, совместимость с некоторыми плагинами или необходимость кастомизации. В этой статье мы подробно рассмотрим, как удалить или отключить Gutenberg, чтобы вернуть классический редактор, а также ознакомимся с лучшими плагинами и примерами кода для решения этой задачи.
Почему может понадобиться отключение Gutenberg в WordPress
Несмотря на преимущества блочного редактора, есть несколько распространенных причин, по которым пользователи хотят отключить Gutenberg:
- Совместимость с плагинами или темами: Некоторые устаревшие плагины и темы не поддерживают новый редактор.
- Привычка: Пользователи, привыкшие к классическому редактору, считают его удобнее и быстрее.
- Кастомизация: В классическом редакторе проще добавлять кастомные метабоксы и другие элементы.
- Баги и ошибки: Иногда Gutenberg может вызывать конфликты или нестабильность.
Если вы столкнулись с одной из этих проблем, то отключение Gutenberg — оптимальное решение.
Как отключить Gutenberg с помощью плагинов
Самый простой способ — использовать готовые плагины, которые позволяют быстро переключиться на классический редактор без погружения в код.
Плагин Classic Editor
Официальный плагин от разработчиков WordPress, который полностью отключает Gutenberg и возвращает классический редактор.
- Установка: Найдите плагин Classic Editor в репозитории WordPress и установите его.
- Использование: После активации плагина Gutenberg будет отключен автоматически.
- Дополнительно: В настройках можно выбрать, какой редактор использовать для разных ролей пользователей.
Плагин Disable Gutenberg
Позволяет более гибко управлять отключением Gutenberg. Можно отключить редактор для определенных типов постов, ролей пользователей, страниц и т.д.
- После установки плагина в настройках можно выбрать, где именно отключать Gutenberg.
- Поддерживает добавление фильтров для тонкой настройки.
Отключение Gutenberg через functions.php: примеры кода
Если вы предпочитаете не использовать плагины, можно отключить Gutenberg программно, добавив код в файл functions.php вашей активной темы или в собственный плагин.
Отключение Gutenberg для всех типов постов
function wpin_disable_gutenberg() {
return false;
}
add_filter('use_block_editor_for_post', 'wpin_disable_gutenberg', 10);
add_filter('use_block_editor_for_post_type', 'wpin_disable_gutenberg', 10);
Этот код полностью отключает Gutenberg и возвращает классический редактор во всех местах.
Отключение Gutenberg только для определенных типов записей
function wpin_disable_gutenberg_cpt($use_block_editor, $post_type) {
// Отключаем Gutenberg для страниц
if ($post_type === 'page') {
return false;
}
return $use_block_editor;
}
add_filter('use_block_editor_for_post_type', 'wpin_disable_gutenberg_cpt', 10, 2);
Такой код отключит Gutenberg только для страниц, остальные типы записей будут использовать блочный редактор.
Отключение Gutenberg для конкретной роли пользователя
function wpin_disable_gutenberg_for_role($use_block_editor, $post) {
if (!current_user_can('edit_others_posts')) {
return false;
}
return $use_block_editor;
}
add_filter('use_block_editor_for_post', 'wpin_disable_gutenberg_for_role', 10, 2);
Этот пример отключает Gutenberg для пользователей без права редактировать чужие записи, например, для авторов и подписчиков.
Советы по безопасному отключению Gutenberg без потери данных
Перед отключением Gutenberg важно сделать резервную копию сайта и базы данных, так как переход между редакторами может вызвать несовместимость некоторых блоков и форматирования.
Если на сайте уже есть записи, созданные в Gutenberg, при отключении могут появиться предупреждения или проблемы с отображением. Чтобы избежать этого, рекомендуется:
- Провести тестирование на копии сайта.
- Использовать плагин Classic Editor с опцией "Сохранять блоки".
- Проверить страницы с блоками и при необходимости преобразовать их в классический формат.
Альтернативные методы: использование плагина Advanced Custom Fields (ACF) вместо Gutenberg
Если цель отключения Gutenberg — получить удобный кастомный интерфейс, можно использовать плагин Advanced Custom Fields (ACF), который позволяет создавать собственные поля и метабоксы для редактирования контента.
ACF отлично сочетается с классическим редактором и предлагает гибкие настройки:
- Создание групп полей с разными типами.
- Управление отображением полей на страницах редактирования.
- Возможность вывода данных в шаблонах через простые функции.
Пример вывода пользовательского поля ACF в шаблоне:
if (function_exists('get_field')) {
$custom_text = get_field('wpin_custom_text');
if ($custom_text) {
echo '<p>' . esc_html($custom_text) . '</p>';
}
}
Заключение
Отключение Gutenberg — частая задача для многих сайтов, особенно если важна совместимость и привычный пользовательский опыт. Используя описанные плагины и примеры кода, вы сможете быстро и безопасно отключить блочный редактор, вернуть классический и при этом сохранить функциональность сайта.
Если же вы хотите постепенно перейти на Gutenberg, рассмотрите возможность комбинирования решений и использования плагинов, которые позволяют гибко управлять редактором для разных пользователей и типов контента.