Редактор Gutenberg стал стандартом в WordPress с версии 5.0, предлагая блочный подход к созданию контента. Однако не всегда он удобен или подходит под задачи проекта. Часто разработчики, особенно при работе с кастомными темами или плагинами, хотят вернуть классический редактор или полностью отключить Gutenberg. В этой статье мы подробно рассмотрим, как отключить редактор Gutenberg с помощью кода, без использования громоздких плагинов, а также рассмотрим популярные плагины, которые облегчают эту задачу.
Почему отключают Gutenberg и когда это нужно
Gutenberg — мощный инструмент, но он может:
- Конфликтовать с кастомными мета-боксами и полями в админке.
- Вызывать неудобства при привычной работе с классическим редактором.
- Снижать производительность на слабых хостингах из-за нагрузки на JS.
Если ваш сайт использует сложные кастомные решения, или вы хотите сохранить совместимость с устаревшими плагинами, отключение Gutenberg становится логичным решением.
Отключение Gutenberg через functions.php темы
Самый простой способ — добавить в файл functions.php вашей активной темы следующий код:
function wplog_disable_gutenberg() {
add_filter('use_block_editor_for_post', '__return_false', 10);
add_filter('use_block_editor_for_post_type', '__return_false', 10);
}
add_action('init', 'wplog_disable_gutenberg');Этот код полностью отключит Gutenberg для всех типов записей, вернув классический редактор.
Если хотите отключить Gutenberg только для определенных типов записей, например для страниц, можно использовать такой вариант:
function wplog_disable_gutenberg_for_pages($use_block_editor, $post_type) {
if ($post_type === 'page') {
return false;
}
return $use_block_editor;
}
add_filter('use_block_editor_for_post_type', 'wplog_disable_gutenberg_for_pages', 10, 2);Этот код оставит редактор Gutenberg активным для постов, но отключит для страниц.
Отключение Gutenberg для всех пользователей, кроме администраторов
Иногда нужно, чтобы редактирование через Gutenberg было доступно только администраторам, а для остальных — классический редактор:
function wplog_disable_gutenberg_for_non_admins($can_edit, $post) {
if (!current_user_can('administrator')) {
return false;
}
return $can_edit;
}
add_filter('use_block_editor_for_post', 'wplog_disable_gutenberg_for_non_admins', 10, 2);Отключение Gutenberg через плагин Classic Editor
Если вы не хотите добавлять код, можно использовать плагин Classic Editor. Он официально поддерживается командой WordPress и позволяет переключаться между редакторами и полностью отключать Gutenberg.
Преимущества плагина Classic Editor:
- Простота установки и настройки.
- Настраиваемое переключение редакторов для разных ролей пользователей.
- Совместимость с большинством плагинов и тем.
Отключение Gutenberg для виджетов и кастомных типов записей
Начиная с WordPress 5.8, редактор блоков стал применяться и к виджетам. Чтобы отключить блоковый редактор виджетов, добавьте в functions.php тему следующий код:
add_filter('use_widgets_block_editor', '__return_false');Для кастомных типов записей, созданных с помощью register_post_type, необходимо при регистрации указать параметр:
'show_in_rest' => false,Это полностью отключит поддержку блокового редактора для данного типа записи.
Использование плагина Clearfy для гибкого управления Gutenberg
Плагин Clearfy Pro предлагает удобные настройки для отключения Gutenberg и оптимизации WordPress. Среди функций:
- Отключение Gutenberg для конкретных типов записей.
- Отключение блоков Gutenberg по выбору.
- Оптимизация загрузки скриптов редактора.
Clearfy помогает управлять редактором без кода и конфликтов.
Советы и рекомендации по отключению Gutenberg
Перед отключением Gutenberg обязательно убедитесь, что ваш сайт не использует блоки редактора в текущих постах, иначе их содержимое может отображаться некорректно. Рекомендуется:
- Сделать полную резервную копию сайта.
- Проверить совместимость активных плагинов и тем с классическим редактором.
- Провести тестирование на тестовом сайте или локальной копии.
Помните, что отключение Gutenberg — временное решение. В перспективе стоит адаптировать сайт под блоковый редактор, так как он получает регулярные обновления и улучшения.