Редактор Gutenberg появился в WordPress начиная с версии 5.0 и заменил классический визуальный редактор. Несмотря на преимущества нового редактора, многие пользователи и разработчики предпочитают работать с классическим редактором или собственными решениями. В этой статье мы подробно рассмотрим, как отключить Gutenberg без установки дополнительных плагинов, используя только собственные функции темы или дочерней темы.
Почему стоит отключить Gutenberg?
Редактор Gutenberg основан на блоках и кардинально меняет подход к созданию контента. Однако он не всегда подходит под специфические задачи:
- Сложность для пользователей, привыкших к классическому редактору.
- Несовместимость с некоторыми плагинами и кастомными метабоксами.
- Необходимость работы с устаревшим или специализированным контентом.
В таких случаях отключение Gutenberg становится востребованной задачей.
Способы отключения Gutenberg без плагинов
Отключение для всех типов записей
Самый простой способ отключить Gutenberg — это добавить фильтр, запрещающий его загрузку для всех типов записей. Для этого в файле functions.php вашей темы добавьте следующий код:
function wpwp_disable_gutenberg_all( $is_enabled, $post_type ) {
return false;
}
add_filter( 'use_block_editor_for_post_type', 'wpwp_disable_gutenberg_all', 10, 2 );Этот фильтр заставит WordPress всегда использовать классический редактор, независимо от типа записи.
Отключение Gutenberg только для определённых типов записей
Иногда нужно отключить Gutenberg не для всего сайта, а только для определённых типов записей, например, для записей (post), но оставить редактор блоков для страниц (page):
function wpwp_disable_gutenberg_for_post( $is_enabled, $post_type ) {
if ( 'post' === $post_type ) {
return false;
}
return $is_enabled;
}
add_filter( 'use_block_editor_for_post_type', 'wpwp_disable_gutenberg_for_post', 10, 2 );Так вы сможете гибко управлять редакторами на сайте.
Отключение Gutenberg для конкретных пользователей или ролей
Иногда требуется отключить Gutenberg только для определённых пользователей или ролей. Например, для редакторов или авторов:
function wpwp_disable_gutenberg_for_roles( $is_enabled, $post_type ) {
if ( current_user_can( 'editor' ) || current_user_can( 'author' ) ) {
return false;
}
return $is_enabled;
}
add_filter( 'use_block_editor_for_post_type', 'wpwp_disable_gutenberg_for_roles', 10, 2 );Это позволяет персонализировать опыт редактирования для разных групп пользователей.
Отключение Gutenberg на уровне админ-страниц
Иногда полезно убрать блоки из интерфейса, оставив редактор на уровне кода, или скрыть кнопку добавления блоков. Для этого можно использовать CSS и JavaScript, подключаемые в админке:
function wpwp_remove_gutenberg_assets() {
wp_add_inline_style( 'wp-edit-blocks', '.edit-post-layout { display: none !important; }' );
}
add_action( 'enqueue_block_editor_assets', 'wpwp_remove_gutenberg_assets' );Однако такой подход менее предпочтителен, так как редактор всё равно загружается и влияет на производительность.
Альтернативы отключению Gutenberg
Если отключать редактор полностью не хочется, можно использовать плагины, которые улучшают взаимодействие с Gutenberg или предоставляют классический редактор как опцию. Но в случае wpwp.ru мы ориентируемся на чистые решения без дополнительных плагинов.
Интеграция с плагином Classic Editor
Хотя это и плагин, он является официальным решением от команды WordPress и обеспечивает плавный переход к классическому редактору. Для установки перейдите на страницу плагина Classic Editor.
Практические советы по работе с кодом отключения Gutenberg
1. Помещайте код в файл functions.php дочерней темы, чтобы избежать потери изменений при обновлении.
2. Тестируйте на тестовом сайте перед внедрением в продуктивный.
3. При необходимости комбинируйте фильтры для достижения нужного результата.
4. Обратите внимание, что некоторые плагины могут принудительно включать Gutenberg, что потребует дополнительной настройки.
Дополнительные рекомендации и полезные ресурсы
Для облегчения разработки и тестирования рекомендуем использовать плагин Clearfy Pro, который среди прочего позволяет гибко управлять функционалом WordPress, включая редактор.
Также полезно ознакомиться с официальной документацией WordPress по фильтру use_block_editor_for_post_type на developer.wordpress.org.