2 способа как отключить редактор Gutenberg

Те, кто немного следил за моими выступлениями на митапах и конференции WCSPB2019 и публикациями, могли заметить, что с самого момента, когда Gutenberg стал частью ядра WordPress (конец 2018) я топил за него изо всех сил.

И продолжаю топить.

Тем не менее, я ни разу не отрицаю, что бывают ситуации и сайты, на которых он просто не нужен.

Способ 1. Используем плагин – Classic Editor

«Classic Editor» – официальный плагин для отключения редактора Gutenberg на сайте, он бесплатен и доступен для установки прямо из админки.

Плагин Classic Editor для отключения визуального редактора Gutenberg

После установки этого плагина в Настройки > Написание у вас появятся две опции с радио-кнопками:

Настройки плагина Classiс Editor

Давайте расскажу, как они работают:

  • Редактор по умолчанию для всех пользователей – не думаю, что тут нужно что-то объяснять, общая суть в том, что вы можете переключать сайт на Gutenberg и обратно при помощи этой опции не вырубая сам плагин при этом.
  • Разрешить пользователям переключение редакторов – тут немного интереснее. Во-первых, рядом с каждым постом появится надпись, при помощи какого редактора он был создан, во-вторых, также любой пост вы сможете открыть как при помощи классического редактора, так и при помощи Gutenberg, скриншот ниже для наглядности.
Возможность выбора, при помощи какого редактора редактировать запись

На этом настройки плагина заканчиваются. А что, если вы хотите, чтобы Gutenberg был только доступен для определённых типов записей например?

Способ 2. При помощи кода

Сразу же включаем или выключаем поддержку Gutenberg при регистрации типа записи

Как вы помните, произвольные типы записей мы регистрируем при помощи функции register_post_type(), так вот, всего лишь один параметр этой функции позволяет нам решить, используем ли Gutenberg или нет.

register_post_type(
	'НАЗВАНИЕ ТИПА ЗАПИСИ',
	array(
		'show_in_rest' => false, // Gutenberg отключен, true – включен
 
		...

Хук use_block_editor_for_post_type

Тут очень важно понимать, что если мы поставили параметр show_in_rest при регистрации типа записи в значение false, то хук use_block_editor_for_post_type уже нам не поможет, и мы не сможем включить Gutenberg в этом конкретном случае, однако обратная ситуация работает вполне себе хорошо:

add_filter( 'use_block_editor_for_post_type', function( $use, $post_type ){
 
	if( 'НАЗВАНИЕ ТИПА ЗАПИСИ' === $post_type ) {
		$use = false; // отключаем
	}
	return $use;
 
}, 9999, 2 );

Можем также легко отключить Gutenberg для записей любого (всех) типов кодом:

add_filter( 'use_block_editor_for_post_type', '__return_false' );

P.S. В очередной раз напоминаю, что код можно вставить в functions.php текущей темы. Однако если тема получает обновления, то лучше использовать для кода functions.php дочерней темы или создать вообще отдельный плагин.

Миша

Впервые познакомился с WordPress в 2009 году. Организатор и спикер на конференциях WordCamp. Преподаватель в школе Нетология.

Пишите, если нужна помощь с сайтом или разработка с нуля.

Комментарии — 7

Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.

Миша Рудрастых и WordPress

Полезности из мира WordPress и жизни студии.

Мой телеграм-канал