WordPress как на ладони
rgbcode is looking for WordPress developers.

Как вернуть старый редактор WordPress (отключаем Гутенберг полностью или для типа записи)

В версии WordPress 5.0, наконец, в ядре появился долгожданный новый редактор контента записи «редактор блоков», известный также как Гутенберг (Gutenderg). Он полностью изменил страницу редактирования записи и принцип написания контента. На некоторых сайтах такие кардинальные изменения могут сломать текущий функционал, поэтому там этот редактор нужно будет отключить. В этой короткой заметке разберемся как в WordPress вернуть старый редактор жестко в коде или мягко через плагин.

Как полностью отключить редактор блоков Gutenberg (через код)

Отключить редактор позволяет хук use_block_editor_for_post_type.

Вставьте следующий код в файле темы functions.php или куда-либо еще:

## Отключает Гутенберг (новый редактор блоков в WordPress).
## ver: 1.2
if( 'disable_gutenberg' ){
	remove_theme_support( 'core-block-patterns' ); // WP 5.5

	add_filter( 'use_block_editor_for_post_type', '__return_false', 100 );

	// отключим подключение базовых css стилей для блоков
	// ВАЖНО! когда выйдут виджеты на блоках или что-то еще, эту строку нужно будет комментировать
	remove_action( 'wp_enqueue_scripts', 'wp_common_block_scripts_and_styles' );

	// Move the Privacy Policy help notice back under the title field.
	add_action( 'admin_init', function(){
		remove_action( 'admin_notices', [ 'WP_Privacy_Policy_Content', 'notice' ] );
		add_action( 'edit_form_after_title', [ 'WP_Privacy_Policy_Content', 'notice' ] );
	} );
}

Включить/отключить Гутенберг для отдельной записи (поста), можно через хук use_block_editor_for_post.

Также, Блочный редактор можно отключить через метабокс, если передать параметр __block_editor_compatible_meta_box = false при регистрации метабокса, подробнее смотрите в описании add_meta_box().

Как отключить Gutenberg для произвольных типов записей (WordPress)

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

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

Этот PHP сниппет отключит редактор блоков для двух типов записей: book, movie.

# Отключает Gutenberg для произвольных типов записей
add_filter( 'use_block_editor_for_post_type', 'my_disable_gutenberg', 10, 2 );

function my_disable_gutenberg( $current_status, $post_type ) {

	$disabled_post_types = [ 'book', 'movie' ];

	return ! in_array( $post_type, $disabled_post_types, true );
}

Код можно использовать в файле functions.php или плагине.

Подробнее смотрите хук: use_block_editor_for_post_type.

Отключаем Gutenberg (через плагин Disable Gutenberg)

Disable Gutenberg — это альтернатива плагина Classic Editor. Разработана разработчиком на WP c 15-летним опытом.

Отключаем Gutenberg (через плагин Classic Editor)

Classic Editor — плагин отключает редактор блоков Гутенберг.

Если нужно оставить возможность использовать Гутенберг на сайте (иметь возможность одни статьи править в новом редакторе, а другие в классическом), то жесткое отключение Гутенберга - не вариант. В этом случае разработчики WordPress рекомендуют установить плагин «Classic Editor».

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

Если оставить выбор редактора, то в таблице записей мы увидим следующие ссылки:

Коротко о возможностях плагина:

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

Принцип работы плагина основан на хуке use_block_editor_for_post_type.

18 комментариев
Полезные 2 Все
    Войти