Редактор Gutenberg стал стандартом в WordPress начиная с версии 5.0, однако не все проекты или пользователи готовы перейти на новый блоковый редактор. В этой статье мы подробно рассмотрим, как отключить Gutenberg и вернуть классический редактор или использовать альтернативные решения. Приведём практические примеры кода и разберём лучшие плагины для этой задачи.
Почему может понадобиться отключить Gutenberg
Несмотря на преимущества блокового редактора, в ряде случаев он может вызывать проблемы:
- Наследие сайта построено на классическом редакторе, и переход ломает контент.
- Совместимость с некоторыми плагинами и темами отсутствует или ограничена.
- Пользователи предпочитают простой интерфейс классического редактора.
- Необходимость быстрого и лёгкого редактирования без лишних блоков.
В таких случаях отключение Gutenberg – логичный шаг для сохранения стабильности и удобства работы.
Отключение Gutenberg через код в functions.php
Самый лёгкий способ отключить Gutenberg – добавить фильтр, который заставит WordPress использовать классический редактор для всех типов записей. Вставьте в файл functions.php вашей темы следующий код:
function wpnotes_disable_gutenberg( $use_block_editor, $post_type ) {
// Отключаем Gutenberg для стандартных записей
if ( 'post' === $post_type ) {
return false;
}
return $use_block_editor;
}
add_filter( 'use_block_editor_for_post_type', 'wpnotes_disable_gutenberg', 10, 2 );Этот код проверяет тип записи и отключает блоковый редактор только для записей типа post. Вы можете адаптировать условие под другие типы записей, например, page или пользовательские типы.
Отключение Gutenberg для всех типов записей
Если нужно отключить редактор полностью, используйте такой вариант:
function wpnotes_disable_gutenberg_everywhere() {
return false;
}
add_filter( 'use_block_editor_for_post_type', 'wpnotes_disable_gutenberg_everywhere');Этот код отключит редактор Gutenberg глобально, и WordPress всегда будет использовать классический редактор.
Использование плагинов для отключения Gutenberg
Для тех, кто предпочитает не трогать код, есть несколько популярных плагинов, которые легко и безопасно отключают Gutenberg.
Плагин Classic Editor
Самый популярный и официальный плагин от команды WordPress. Он полностью отключает Gutenberg и возвращает классический редактор. Плагин поддерживает настройку на уровне пользователя и типа записи.
Скачать и установить плагин можно напрямую из админки WordPress или с официального репозитория: Classic Editor на WPSHOP.
Плагин Disable Gutenberg
Ещё один мощный инструмент с гибкими настройками. Позволяет отключать Gutenberg для ролей пользователей, типов записей и даже отдельных постов.
Подробнее и скачать: Disable Gutenberg на WPSHOP.
Как проверить, отключился ли Gutenberg корректно
После внесения изменений или установки плагина обязательно проверьте:
- Откройте редактирование записи или страницы – должен отображаться классический редактор.
- Убедитесь, что плагины, зависящие от классического редактора, работают без ошибок.
- Проверьте на разных ролях пользователей и типах записей.
Если вы разработчик и хотите дополнительно убедиться, что Gutenberg отключился программно, можно добавить отладочный хук:
add_action( 'admin_init', function() {
if ( !wp_is_block_editor_enabled( get_the_ID() ) ) {
error_log( 'Gutenberg отключен для текущей записи' );
}
});Советы по совместимости и оптимизации
При отключении Gutenberg стоит помнить:
- Некоторые темы и плагины могут использовать блоки Gutenberg, и после отключения они перестанут работать. Проверьте совместимость.
- Если используете кастомные типы записей, отключайте Gutenberg выборочно, чтобы не сломать функционал.
- Для постепенного перехода можно отключать редактор только для определённых пользователей или ролей.
- Используйте плагины с регулярными обновлениями и поддержкой от разработчиков.
Пример расширенного кода для выборочного отключения Gutenberg
Ниже пример функции, которая отключает Gutenberg для записей и страниц, но оставляет редактор для пользовательского типа записи product:
function wpnotes_conditional_disable_gutenberg( $use_block_editor, $post_type ) {
$post_types_to_disable = ['post', 'page'];
if ( in_array( $post_type, $post_types_to_disable, true ) ) {
return false;
}
return $use_block_editor;
}
add_filter( 'use_block_editor_for_post_type', 'wpnotes_conditional_disable_gutenberg', 10, 2 );Такой подход позволяет гибко управлять редакторами на сайте, не жертвуя функционалом.