С выходом WordPress 5.0 появился новый редактор контента — Gutenberg, который заменил привычный классический редактор. Несмотря на преимущества блокового подхода, многие разработчики и пользователи предпочитают работать с классическим редактором из-за его простоты и совместимости с существующими плагинами и темами. В этой статье мы подробно рассмотрим, как отключить Gutenberg и вернуть классический редактор, а также рассмотрим практические решения и примеры кода.
Почему стоит отключить Gutenberg и вернуться к классическому редактору?
Gutenberg строится на концепции блоков, что меняет привычный подход к созданию контента. Несмотря на это, у нового редактора есть свои недостатки:
- Некоторая несовместимость с устаревшими плагинами и темами.
- Сложности для пользователей, привыкших к классическому редактору.
- Ограничения в некоторых видах кастомизации контента.
Если вы сталкиваетесь с этими проблемами, отключение Gutenberg и возврат к классическому редактору — логичное решение.
Самый простой способ — плагин Classic Editor
Самый безопасный и рекомендуемый способ — использование официального плагина Classic Editor. Он позволяет полностью отключить Gutenberg, вернув классический редактор во всех местах.
Для установки плагина:
- Перейдите в админку WordPress → Плагины → Добавить новый.
- В поиске введите "Classic Editor".
- Установите и активируйте плагин от команды WordPress Contributors.
После активации плагина Gutenberg будет отключен, и классический редактор станет основным.
Настройки плагина Classic Editor
В разделе Настройки → Письмо вы найдете опции:
- Разрешить пользователям выбирать редактор: если включить, пользователи смогут переключаться между классическим и блоковым редактором.
- Выбрать редактор по умолчанию: можно задать, какой редактор использовать по умолчанию — классический или Gutenberg.
Это удобно для поэтапного перехода или тестирования.
Отключение Gutenberg программно — примеры кода
Если вы хотите отключить Gutenberg без плагинов, например, в рамках собственного плагина или темы, можно использовать фильтры WordPress.
Отключение Gutenberg для всего сайта
function wp7_disable_gutenberg() {
return false;
}
add_filter('use_block_editor_for_post', 'wp7_disable_gutenberg', 10);
add_filter('use_block_editor_for_post_type', 'wp7_disable_gutenberg', 10);Этот код полностью отключит блоковый редактор для всех типов записей.
Отключение Gutenberg для отдельных типов записей
Например, если вы хотите отключить Gutenberg только для постов, но оставить для страниц:
function wp7_disable_gutenberg_for_post($use_block_editor, $post_type) {
if ($post_type === 'post') {
return false;
}
return $use_block_editor;
}
add_filter('use_block_editor_for_post_type', 'wp7_disable_gutenberg_for_post', 10, 2);Это позволит гибко управлять редактором на уровне типов контента.
Отключение Gutenberg для конкретных пользователей или ролей
Иногда нужно оставить блоковый редактор для администраторов, но для редакторов и авторов использовать классический.
function wp7_disable_gutenberg_for_roles() {
if (!current_user_can('administrator')) {
add_filter('use_block_editor_for_post', '__return_false');
add_filter('use_block_editor_for_post_type', '__return_false');
}
}
add_action('init', 'wp7_disable_gutenberg_for_roles');Этот подход позволяет сохранить гибкость и контроль над интерфейсом редактора.
Совместимость с плагинами и темами — на что обратить внимание
При отключении Gutenberg важно проверить, что используемые плагины и темы не зависят от нового редактора, иначе функционал может нарушиться.
- Плагины для кастомных блоков — они перестанут работать.
- Темы с поддержкой блоков могут терять стили или функциональность.
- Плагины для SEO, визуального построения страниц (например, Elementor, Visual Composer) обычно не зависят от Gutenberg, но стоит проверить.
Если вы используете WPShop продукты, например, Clearfy Pro, в них есть опции для управления редакторами и оптимизации работы с Gutenberg.
Как вернуть классический редактор в блоках с помощью WP7 AJAX
Если требуется интеграция классического редактора в AJAX-загрузку форм или интерфейсов, можно использовать JavaScript и PHP для динамического подключения TinyMCE.
Пример инициализации TinyMCE на динамически загруженном поле:
function wp7_init_tinymce_ajax() {
?>
<script type="text/javascript">
jQuery(document).on('ajaxComplete', function() {
if (!tinymce.get('content')) {
tinymce.init({
selector: '#content',
menubar: false,
toolbar: 'undo redo | bold italic | alignleft aligncenter alignright',
setup: function(editor) {
console.log('TinyMCE инициализирован через AJAX');
}
});
}
});
</script>
<?php
}
add_action('admin_footer', 'wp7_init_tinymce_ajax');Такой подход позволяет сохранять привычный классический редактор даже при динамическом обновлении содержимого.
Выводы
Отключение Gutenberg и возврат к классическому редактору в WordPress — частая задача для разработчиков и пользователей, которые хотят сохранить совместимость и удобство работы. Для этого можно использовать официальный плагин Classic Editor или реализовать собственные решения через фильтры в functions.php или в собственных плагинах.
Обязательно тестируйте совместимость с плагинами и темами, а при необходимости применяйте динамическую инициализацию классического редактора в AJAX-сценариях. Использование продуктов с wpshop.ru может облегчить управление редакторами и оптимизировать работу сайта.