Редактор Gutenberg, внедренный в WordPress с версии 5.0, значительно изменил процесс создания контента. Однако у многих разработчиков и сайтов возникают задачи отключить или отфильтровать его использование для отдельных типов записей или пользователей. В этой статье подробно разберем, как программно отключать Gutenberg, какие фильтры использовать, а также рассмотрим полезные плагины и примеры кода.
Что такое Gutenberg и зачем его отключать
Gutenberg — это блочный редактор WordPress, который заменил классический редактор. Несмотря на преимущества в визуальном создании контента, он может вызывать проблемы с совместимостью старых плагинов, тем и кастомных типов записей. Также для некоторых сайтов удобнее использовать классический редактор или собственные решения.
Отключение Gutenberg может потребоваться:
- Для улучшения совместимости с плагинами.
- Для определённых типов записей, например, если они требуют особого интерфейса.
- Для пользователей с определёнными ролями.
- Для уменьшения нагрузки или упрощения редактора.
Как отфильтровать использование Gutenberg через фильтры WordPress
Самый простой способ отключить Gutenberg — использовать фильтр use_block_editor_for_post_type. Он позволяет определить, для каких типов записей редактор будет активен.
add_filter('use_block_editor_for_post_type', 'wpcourse_disable_gutenberg_for_post_types', 10, 2);
function wpcourse_disable_gutenberg_for_post_types($use_block_editor, $post_type) {
// Отключаем Gutenberg для типов записей 'product' и 'event'
if (in_array($post_type, ['product', 'event'])) {
return false;
}
return $use_block_editor;
}
В этом примере редактор Gutenberg отключается для кастомных типов записей 'product' и 'event'. Для остальных типов записи будет использоваться стандартный блоковый редактор.
Отключение Gutenberg для конкретных пользователей
Можно также отключить редактор только для определённых ролей или пользователей. Для этого используем фильтр use_block_editor_for_post, который позволяет принимать решение на уровне конкретного поста.
add_filter('use_block_editor_for_post', 'wpcourse_disable_gutenberg_for_admins', 10, 2);
function wpcourse_disable_gutenberg_for_admins($use_block_editor, $post) {
// Отключаем Gutenberg для всех пользователей, кроме администраторов
if (!current_user_can('administrator')) {
return false;
}
return $use_block_editor;
}
Такой подход позволяет гибко управлять доступом к редактору в зависимости от роли пользователя.
Отключение Gutenberg через плагины: практические рекомендации
Если вы не хотите писать код, есть проверенные плагины для отключения Gutenberg:
- Classic Editor — официальный плагин от разработчиков WordPress, который полностью отключает Gutenberg и возвращает классический редактор. Удобен для быстрого решения.
- Disable Gutenberg — расширенный плагин с настройками, позволяющий отключать редактор по типам записей, ролям пользователей, шаблонам страниц и т.д.
- Clearfy Pro — мультифункциональный инструмент оптимизации, в том числе позволяет отключить Gutenberg selectively и настроить управление редакторами.
Если вы используете Clearfy Pro, то для отключения Gutenberg достаточно включить соответствующую опцию в настройках и настроить правила по типам записей и ролям.
Как полностью отключить Gutenberg с помощью кода
Для полного отключения редактора Gutenberg на сайте можно использовать более радикальный метод — с помощью фильтра gutenberg_can_edit_post_type или удаления поддержки блоков у тем и типов записей.
add_filter('gutenberg_can_edit_post_type', '__return_false');
add_filter('use_block_editor_for_post_type', '__return_false');
Этот код полностью отключит блоковый редактор для всех типов записей. Однако такой подход не всегда желателен, если вы хотите сохранить Gutenberg для некоторых разделов.
Удаление поддержки блоков в теме
Иногда в теме по умолчанию подключена поддержка блоков, которую можно убрать так:
function wpcourse_remove_block_editor_support() {
remove_post_type_support('post', 'editor');
remove_post_type_support('page', 'editor');
}
add_action('init', 'wpcourse_remove_block_editor_support', 100);
Это отключит редактор для стандартных типов записей, но в отличие от фильтров, может привести к отсутствию редактора вообще, включая классический.
Советы по тестированию и отладке отключения Gutenberg
Перед применением изменений на боевом сайте обязательно:
- Проверьте, что ваши кастомные поля, метабоксы и плагин совместимы с выбранным редактором.
- Используйте staging-сервер или копию сайта для тестов.
- Проверьте роли пользователей и убедитесь, что доступ к редактору настроен корректно.
- Очистите кэш браузера и сайта после внесения изменений.
Совместимость с другими плагинами
Некоторые плагины могут зависеть от Gutenberg для работы, например, визуальные конструкторы или SEO-инструменты. Поэтому отключение редактора требует проверки их функционирования.
Итоги и рекомендации
Отключение Gutenberg — частая задача при работе с WordPress, особенно на больших и кастомных проектах. Используйте фильтры use_block_editor_for_post_type и use_block_editor_for_post для тонкой настройки, а если нужно быстро и надёжно — воспользуйтесь плагинами Classic Editor или Disable Gutenberg.
Для продвинутых пользователей подойдёт Clearfy Pro, который позволяет грамотно управлять всеми аспектами редактора и оптимизации.