Редактор Gutenberg в WordPress с версии 5.0 стал стандартным визуальным редактором. Однако в некоторых случаях требуется отключить его для определённых ролей пользователей, например, для редакторов, авторов или других нестандартных ролей, чтобы сохранить классический редактор или использовать альтернативные плагины.
Почему может понадобиться отключить Gutenberg для некоторых ролей
Gutenberg — мощный инструмент для создания контента, но он не всегда удобен для всех пользователей. Некоторые редакторы привыкли к классическому редактору, а другие роли могут использовать специальные плагины, которые конфликтуют с блоковым редактором. Отключение Gutenberg для конкретных ролей позволяет добиться гибкости и удобства работы на сайте.
Кроме того, отключение редактора для определённых пользователей помогает избежать ошибок и конфликтов с кастомными полями, мета-боксами или другими расширениями.
Способы отключения Gutenberg для отдельных ролей
Существует несколько способов отключить редактор Gutenberg для определённых ролей в WordPress. Рассмотрим самые популярные и удобные.
1. Использование плагина Disable Gutenberg
Плагин Disable Gutenberg позволяет гибко управлять выключением блокового редактора. В настройках можно указать роли, для которых Gutenberg будет отключён.
Преимущества плагина:
- Простой интерфейс настройки
- Выбор ролей и типов записей
- Поддержка исключений
Однако если нужен более точечный контроль и кастомизация, лучше использовать код.
2. Отключение Gutenberg для ролей через код
Добавьте следующий код в файл functions.php вашей темы или в собственный плагин. Он отключит Gutenberg для всех ролей, кроме администратора.
function wpaddons_disable_gutenberg_for_roles( $is_enabled, $post ) {
if ( ! is_user_logged_in() ) {
return $is_enabled;
}
$user = wp_get_current_user();
// Список ролей, для которых отключаем Gutenberg
$roles_to_disable = array('editor', 'author', 'contributor');
foreach ( $roles_to_disable as $role ) {
if ( in_array( $role, (array) $user->roles ) ) {
return false; // Отключаем Gutenberg
}
}
return $is_enabled; // Оставляем как есть
}
add_filter( 'use_block_editor_for_post', 'wpaddons_disable_gutenberg_for_roles', 10, 2 );Этот код проверяет роль текущего пользователя и отключает редактор Gutenberg, если роль совпадает с одной из указанных в массиве $roles_to_disable. Для всех остальных пользователей блоковый редактор остаётся включённым.
Как сохранить классический редактор после отключения Gutenberg
При отключении Gutenberg для ролей, как правило, автоматически включается классический редактор. Однако иногда требуется явно подключить плагин Classic Editor.
Для этого можно установить и активировать официальный плагин Classic Editor. После активации в настройках плагина можно выбрать, для каких ролей использовать классический редактор.
Если же вы хотите программно переключать редактор, добавьте такой код:
function wpaddons_force_classic_editor_for_roles( $use_block_editor, $post ) {
$user = wp_get_current_user();
$roles_to_use_classic = array('editor', 'author', 'contributor');
foreach ( $roles_to_use_classic as $role ) {
if ( in_array( $role, (array) $user->roles ) ) {
return false; // Классический редактор
}
}
return $use_block_editor;
}
add_filter( 'use_block_editor_for_post_type', 'wpaddons_force_classic_editor_for_roles', 10, 2 );Дополнительные советы и рекомендации
Учитывайте пользовательский опыт
Перед тем как отключать Gutenberg для ролей, обсудите с командой, какие именно редакторы им удобнее использовать. Возможно, для одних задач Gutenberg подходит лучше, а для других — классический.
Обновляйте плагины и тестируйте совместимость
Некоторые плагины могут перестать корректно работать с Gutenberg или классическим редактором. Рекомендуется тестировать сайтик на тестовом окружении при изменении настроек.
Используйте плагины с поддержкой ролей
Если вы используете плагины для создания контента, убедитесь, что они правильно поддерживают отключение Gutenberg и работают согласно ролям.
Пример интеграции с плагином Clearfy Pro для оптимизации
Плагин Clearfy Pro позволяет отключать Gutenberg и управлять различными аспектами производительности WordPress. В его настройках есть опция отключить блоковый редактор для выбранных ролей, что дополнительно повышает удобство и безопасность.
После установки Clearfy Pro перейдите в раздел Оптимизация → Отключение Gutenberg и выберите нужные роли. Это позволит избежать конфликта с другими плагинами и сохранить привычный интерфейс для группы пользователей.
Выводы
Отключение Gutenberg для отдельных ролей — частая задача при кастомизации WordPress для командной работы. С помощью простого кода или плагинов можно гибко управлять этим процессом, улучшая удобство и функциональность сайта.