Wordpresses

Как отключить ненужные блоки Gutenberg в WordPress

Если в редакторе Gutenberg у вас десятки блоков, а реально используются только несколько, их можно отключить и оставить в админке только нужный набор. Это не ускоряет сайт на фронтенде само по себе, но заметно упрощает работу редакторов: меньше лишних пунктов в панели вставки, меньше ошибок при создании материалов и меньше визуального шума.

Сделать это можно тремя путями: через код в теме или мини-плагине, через плагин для управления блоками, либо через фильтр, если нужно точечно ограничить блоки для конкретного сайта или роли пользователя. Самый надёжный вариант для постоянной настройки — код. Если нужен быстрый и безопасный способ без правки файлов, удобнее использовать плагин.

Что именно можно отключить

В Gutenberg можно ограничить не только отдельные блоки, но и целые группы блоков, если они вам не нужны. На практике чаще всего отключают:

  • блоки медиа и встраивания, которые не используются на сайте;
  • блоки форматирования, если редакторы работают по шаблону и не должны собирать сложную разметку вручную;
  • блоки, которые дублируют функциональность темы или плагинов;
  • часть встроенных блоков WordPress, если сайт работает по строгому редакционному регламенту.

Важно понимать разницу: отключение блока в редакторе не удаляет уже созданный контент. Если блок уже стоит в старых записях, он останется в базе и будет отображаться на сайте, пока сам контент не изменён. Но новые вставки этого блока станут недоступны.

Самый точный способ: ограничить список доступных блоков через код

Для WordPress есть фильтр allowed_block_types_all. Он позволяет задать, какие блоки будут доступны в редакторе. Это хороший вариант, если вы хотите контролировать набор блоков без лишних зависимостей от плагинов.

Ниже пример, который оставляет только несколько базовых блоков. Его можно добавить в functions.php дочерней темы или, что безопаснее, в небольшой собственный плагин.

Перед изменениями сделайте резервную копию файлов и базы. Если вы добавите слишком жёсткое ограничение, редакторы могут потерять доступ к нужным блокам, а часть шаблонов станет неудобно редактировать.

add_filter( 'allowed_block_types_all', function( $allowed_blocks, $block_editor_context ) {
	return array(
		'core/paragraph',
		'core/heading',
		'core/list',
		'core/image',
		'core/quote',
		'core/buttons',
		'core/button',
		'core/separator',
		'core/spacer',
	);
}, 10, 2 );

В этом примере редактору доступны только перечисленные блоки. Всё остальное будет скрыто из панели вставки. Если вам нужен не полный список, а только исключение нескольких блоков, можно вернуть массив с нужными блоками и убрать лишние из него вручную.

Если нужно отключить блоки только для части сайта, например для записей, но оставить для страниц, фильтр можно сделать условным. Для этого используется объект контекста редактора.

add_filter( 'allowed_block_types_all', function( $allowed_blocks, $block_editor_context ) {
	if ( ! empty( $block_editor_context->post ) && 'page' === $block_editor_context->post->post_type ) {
		return array(
			'core/paragraph',
			'core/heading',
			'core/image',
			'core/list',
		);
	}

	return $allowed_blocks;
}, 10, 2 );

Такой подход полезен, если у разных типов контента разные правила редактирования. Например, на страницах нужны только базовые блоки, а в записях — больше свободы.

Как отключить блоки через плагин без правки кода

Если вы не хотите лезть в тему, используйте плагин, который умеет управлять блоками Gutenberg. Это удобнее для владельца сайта, который не правит PHP вручную, и безопаснее, если на хостинге нет удобного доступа к файлам.

Схема обычно одинаковая: устанавливаете плагин, открываете его настройки, находите раздел управления блоками и выключаете ненужные элементы. После сохранения они исчезают из панели редактора.

Плюс этого способа в том, что изменения можно быстро откатить через интерфейс. Минус — вы зависите от стороннего плагина и его логики. Если плагин перестанут поддерживать, лучше заранее перенести настройку в код.

Для небольшого сайта с одним редактором плагин часто удобнее. Для проекта с несколькими ролями и строгими правилами публикации надёжнее всё же код, потому что он прозрачен и не зависит от лишнего слоя абстракции.

Что делать, если нужен доступ к блокам только для части пользователей

Иногда задача не в том, чтобы убрать блоки вообще, а в том, чтобы ограничить их для редакторов, но оставить для администраторов или контент-менеджеров с расширенными правами. Это уже вопрос не только блоков, но и ролей пользователей.

В таком случае фильтр можно дополнить проверкой прав. Например, администратору оставить полный набор, а остальным показывать урезанный список. Это удобно для агентств и сайтов, где несколько человек работают в одном редакторе и не должны случайно использовать лишние блоки.

Пример логики выглядит так: если пользователь может управлять сайтом, ничего не ограничиваем; если нет — возвращаем список только разрешённых блоков. В реальном проекте лучше опираться на конкретные возможности роли, а не на название роли в лоб, потому что роли на сайтах часто кастомизируют.

Как проверить, что блоки действительно отключены

После настройки откройте редактор записи или страницы и проверьте панель вставки блоков. Нужные блоки должны остаться, а лишние — исчезнуть из списка и поиска по блокам.

Проверять лучше в двух сценариях:

  • создание новой записи с нуля;
  • редактирование старой записи, где уже есть блоки, которые вы отключили.

Во втором случае важно убедиться, что старый контент не сломался. Если блок уже был вставлен раньше, он может продолжать отображаться в редакторе как существующий элемент. Это нормально: отключение влияет на доступность новых вставок, а не на уже сохранённую разметку.

Если блок не исчез, обычно причина одна из трёх: код добавлен не туда, кэш мешает увидеть изменения, либо плагин или тема переопределяют поведение редактора. В такой ситуации проверьте, что фильтр подключён в активной теме или собственном плагине, и временно отключите плагины, которые тоже управляют блоками.

Когда лучше не отключать блоки полностью

Жёсткое ограничение списка блоков подходит не всем. Если на сайте много авторов, а редакция регулярно использует разные типы контента, слишком узкий набор блоков быстро начнёт мешать. Тогда редакторы будут искать обходные пути, а это обычно приводит к хаосу в разметке.

Не стоит полностью закрывать Gutenberg, если:

  • на сайте есть сложные лендинги, где нужны разные типы блоков;
  • редакторы сами собирают страницы из блоков;
  • вы не уверены, какие блоки реально используются в старом контенте;
  • часть блоков нужна только в отдельных типах записей.

В таких случаях лучше не убирать всё подряд, а оставить только действительно лишнее. Начните с самых очевидных блоков, которые точно не используются, и постепенно сокращайте список после проверки рабочих сценариев.

Если вам нужен не только контроль блоков, но и общая чистка админки WordPress, иногда удобнее смотреть в сторону комплексных решений для оптимизации редактора и интерфейса. Но для задачи именно отключения ненужных блоков Gutenberg чаще всего достаточно фильтра allowed_block_types_all или аккуратной настройки через плагин.

В итоге рабочая схема простая: сначала определите, какие блоки реально нужны редакции, затем ограничьте список через код или плагин, после этого проверьте создание новых записей и редактирование старого контента. Так вы уберёте лишнее из Gutenberg без риска сломать сайт и без лишней нагрузки на редакторов.

×
Страшно выгодная скидка!

Премиум темы и плагины WordPress -20%

Забери скидку сейчас ⋙