Почему может понадобиться отключить Gutenberg
Редактор Gutenberg в WordPress появился начиная с версии 5.0 и стал стандартом для создания и редактирования контента. Несмотря на его функциональность, многие разработчики и пользователи предпочитают классический редактор из-за привычного интерфейса и большей совместимости с некоторыми плагинами и темами.
Основные причины отключения Gutenberg:
- Необходимость совместимости с плагинами, которые не поддерживают блоки.
- Удобство работы для пользователей, привыкших к классическому редактору.
- Требования проекта или клиента, которые не хотят менять процесс создания контента.
В этой статье мы рассмотрим несколько способов, как полностью отключить Gutenberg и вернуть классический редактор.
Использование официального плагина Classic Editor
Самый простой и надежный способ — установить официальный плагин Classic Editor, который поддерживается командой WordPress и обеспечивает плавный возврат к старому редактору.
Преимущества плагина:
- Простая установка и настройка через админку.
- Возможность переключаться между редакторами для разных ролей и типов записей.
- Официальная поддержка и регулярные обновления.
После установки и активации плагина Gutenberg будет отключен, а классический редактор станет редактором по умолчанию.
Отключение Gutenberg с помощью кода в functions.php
Если вы не хотите использовать плагин, можно отключить Gutenberg простым кодом в файле functions.php вашей активной темы или в плагине-«must-use».
Добавьте следующий код:
function wplessons_disable_gutenberg_editor( $is_enabled, $post_type ) {
// Отключаем для всех типов записей
return false;
}
add_filter( 'use_block_editor_for_post_type', 'wplessons_disable_gutenberg_editor', 10, 2 );Этот фильтр полностью отключит блоковый редактор Gutenberg для всех типов записей, возвращая классический редактор.
Если нужно отключить Gutenberg только для определенных типов записей, можно изменить функцию так:
function wplessons_disable_gutenberg_for_cpt( $is_enabled, $post_type ) {
if ( 'post' === $post_type || 'page' === $post_type ) {
return false; // отключить Gutenberg для записей и страниц
}
return $is_enabled; // оставить по умолчанию для остальных
}
add_filter( 'use_block_editor_for_post_type', 'wplessons_disable_gutenberg_for_cpt', 10, 2 );Отключение Gutenberg для конкретных пользователей или ролей
В некоторых случаях нужно отключить блоковый редактор только для определенных пользователей, например, для редакторов или авторов.
Вот пример кода, который отключит Gutenberg для пользователей без права редактирования тем:
function wplessons_disable_gutenberg_for_non_admins( $is_enabled, $post_type ) {
if ( ! current_user_can( 'edit_theme_options' ) ) {
return false;
}
return $is_enabled;
}
add_filter( 'use_block_editor_for_post_type', 'wplessons_disable_gutenberg_for_non_admins', 10, 2 );Так вы сохраните Gutenberg для администраторов и отключите для остальных.
Советы по совместимости и оптимизации после отключения Gutenberg
После отключения Gutenberg важно проверить совместимость темы и плагинов с классическим редактором. Некоторые блоки или функции, созданные специально для Gutenberg, могут не работать.
Если вы используете плагин Expert Review, убедитесь, что его виджеты и шорткоды корректно отображаются в классическом редакторе. Обычно плагин поддерживает оба варианта, но тестирование не помешает.
Для удобства работы с контентом в классическом редакторе можно также использовать плагин My Popup для создания всплывающих подсказок и уведомлений без блоков.
Заключение: Выбор способа зависит от задачи
Если нужно быстро и надежно отключить Gutenberg — выбирайте плагин Classic Editor. Если хотите более тонко управлять, используйте кодовые решения с фильтрами. Для проектов с особыми требованиями можно комбинировать оба подхода, контролируя поведение редактора под разные условия.
Тщательно тестируйте все изменения на тестовом сайте перед применением на боевом проекте, чтобы избежать сбоев и потери данных.
Таким образом, вы легко сможете вернуть классический редактор WordPress и обеспечить удобную работу с контентом для себя и пользователей.