Ситуация типовая: на части сайта блоковый редактор удобен, а в другом месте только мешает. Например, для обычных страниц нужен Gutenberg, а для кастомного типа записей с длинными полями, метабоксами и старой логикой редактирования — классический редактор. Полностью отключать Gutenberg на сайте в такой ситуации не нужно: это ломает привычный рабочий процесс и часто затрагивает лишние сущности.
Ниже разберём, как отключить Gutenberg точечно: по типу записи, по шаблону и через фильтры, как проверить результат и где чаще всего ошибаются.
Когда это действительно нужно
Точечное отключение Gutenberg имеет смысл, если:
- в админке есть кастомный тип записи с большим количеством метабоксов;
- редакторы работают со старым плагином, который добавляет поля только в классический экран;
- нужно сохранить Gutenberg для страниц и постов, но убрать его из отдельного раздела;
- внутри темы или плагина уже есть своя логика сохранения контента, завязанная на классический редактор.
Если проблема не в редакторе, а в медленной админке, сначала проверьте количество плагинов, тяжёлые метабоксы и автосохранение. Отключение Gutenberg не ускоряет WordPress само по себе.
Диагностика: что именно нужно отключить
Перед правкой кода ответьте на три вопроса:
- На каких типах записей нужен классический редактор?
- Нужно ли отключать Gutenberg только для конкретного пользователя или роли?
- Есть ли на сайте плагин, который уже меняет поведение редактора?
Проверить текущую ситуацию можно прямо в админке: откройте нужный тип записи и посмотрите, появляется ли интерфейс блоков. Если редактор уже заменён плагином, не дублируйте логику в теме — сначала найдите, кто именно вмешивается.
Пошаговое решение через фильтр use_block_editor_for_post_type
Самый надёжный вариант — отключить Gutenberg для конкретного типа записи через фильтр. Это работает предсказуемо и не требует лишних плагинов.
Пример: отключить Gutenberg для кастомного типа записи
<?php
add_filter( 'use_block_editor_for_post_type', function( $use_block_editor, $post_type ) {
$disabled_post_types = array( 'portfolio', 'catalog' );
if ( in_array( $post_type, $disabled_post_types, true ) ) {
return false;
}
return $use_block_editor;
}, 10, 2 );Код можно добавить в functions.php дочерней темы или в собственный мини-плагин. Второй вариант лучше, если логика должна переживать смену темы.
Если нужно отключить только для записей или страниц
<?php
add_filter( 'use_block_editor_for_post_type', function( $use_block_editor, $post_type ) {
if ( 'page' === $post_type ) {
return false;
}
return $use_block_editor;
}, 10, 2 );Такой подход удобен, если страницы редактируются через старые метабоксы, а записи уже переведены на блоки.
Альтернатива: отключение через register_post_type()
Если вы сами регистрируете кастомный тип записи, можно сразу задать поддержку редактора. Для старого экрана редактирования укажите supports без editor.
<?php
register_post_type( 'catalog', array(
'label' => 'Каталог',
'public' => true,
'supports' => array( 'title', 'thumbnail', 'excerpt' ),
'show_in_rest' => true,
) );Но здесь есть важная деталь: если тип записи уже зарегистрирован плагином или темой, править его напрямую не всегда удобно. В таком случае фильтр use_block_editor_for_post_type обычно проще и безопаснее.
Сравнение подходов
| Подход | Когда использовать | Плюсы | Минусы |
|---|---|---|---|
Фильтр use_block_editor_for_post_type | Нужно отключить Gutenberg для конкретного типа записи | Точечно, просто, без лишних зависимостей | Нужно знать slug типа записи |
supports в register_post_type() | Тип записи регистрируете вы сами | Чистая архитектура, без лишних фильтров | Не подходит для уже готовых типов записи |
| Плагин для классического редактора | Нужно быстро включить старый интерфейс без кода | Быстрый старт | Лишняя зависимость, сложнее контролировать точечно |
Проверка результата после внедрения
После изменения кода проверьте не только внешний вид экрана, но и сохранение данных.
- Откройте нужный тип записи в админке и убедитесь, что блоковый редактор не загружается.
- Создайте тестовую запись и сохраните её.
- Проверьте, что метабоксы, произвольные поля и таксономии отображаются как раньше.
- Если используется REST API или фронтенд-рендер из метаполей, убедитесь, что данные сохраняются в прежнем формате.
Если после отключения редактора экран стал пустым или часть полей пропала, проблема обычно не в самом фильтре, а в том, что метабоксы были завязаны на блоковый интерфейс или на скрипты Gutenberg.
Частые ошибки и как их исправить
Неправильный slug типа записи
Самая частая ошибка — указать не тот post_type. В коде нужен именно внутренний slug, а не название в интерфейсе. Если сомневаетесь, посмотрите регистрацию типа записи в коде плагина или темы.
Код добавили в родительскую тему
Если правка лежит в родительской теме, она исчезнет после обновления. Для рабочей установки лучше использовать дочернюю тему или отдельный мини-плагин.
Отключили Gutenberg глобально, хотя нужен только для одного типа
Так часто ломают редактор там, где он полезен. Если на сайте есть страницы, записи и несколько кастомных типов, отключайте редактор только там, где это действительно требуется.
Конфликт с плагином, который тоже меняет редактор
Если установлен плагин для классического редактора или оптимизации админки, он может переопределять поведение. В этом случае сначала отключите его на тестовом сайте и проверьте, кто именно влияет на экран редактирования.
Если нужен плагин, а не код
Иногда код не нужен, особенно если задача временная или её должен поддерживать контент-менеджер без доступа к файлам. Тогда можно использовать плагин, который управляет редактором и чисткой лишних функций админки. Но перед установкой проверьте, не делает ли он больше, чем вам нужно: лишние настройки часто приводят к конфликтам с метабоксами и SEO-плагинами.
Если вы уже используете набор инструментов для технической чистки WordPress, имеет смысл смотреть на решения, которые позволяют отключать лишние элементы точечно, а не «рубить» весь редактор целиком. Например, Clearfy Pro подходит для задач, где нужно убрать дубли и лишние функции без ручного переписывания ядра темы: https://wpshop.ru/plugins/clearfy?utm_source=wpreset.ru&utm_medium=article&utm_campaign=kak-otklyuchit-gutenberg-dlya-otdelnykh-tipov-zapisey-v-wordpress
Практика безопасности и поддержки
Перед любыми правками в functions.php сделайте резервную копию и проверьте код на staging-версии. Если сайт большой, лучше вынести логику в отдельный mu-plugin: так вы не потеряете настройку при смене темы и не забудете, где лежит отключение редактора.
Ещё один полезный момент: не отключайте Gutenberg только ради «привычки». Если редакторы уже работают в блоках, а проблема лишь в одном типе записи, точечный фильтр даст меньше побочных эффектов, чем глобальный возврат к классическому редактору.
После внедрения полезно пройтись по админке и проверить:
- открываются ли нужные типы записей без ошибок JavaScript;
- сохраняются ли произвольные поля;
- не пропали ли кнопки загрузки медиа;
- не сломалась ли предпросмотр/обновление записи;
- не изменился ли HTML в уже опубликованных материалах.
Если всё работает, значит отключение Gutenberg выполнено точечно и без лишнего вмешательства в остальную часть сайта.