use_block_editor_for_post_typeхук-фильтрWP 5.0.0

Позволяет включить/отключить возможность редактировать контент через Gutenberg (редактор блоков WordPress) для типа записи.

В версии WP 5.0 появился новый редактор кода - Gutenberg. Используется ли такой редактор для указанного типа записи можно проверить функцией use_block_editor_for_post_type( $post_type ). Хук use_block_editor_for_post_type срабатывает в конце этой функции и позволяет включить или отключить редактор Гутенберг для отдельного типа записи или для всех типов записей сразу.

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

Для отключения Гутенберга также можно использовать плагин Classic Editor. Подробнее читайте в отдельной заметке.

Использование

add_filter( 'use_block_editor_for_post_type', 'wp_kama_use_block_editor_for_post_type_filter', 10, 2 );

/**
 * Function for `use_block_editor_for_post_type` filter-hook.
 * 
 * @param bool   $use_block_editor Whether the post type can be edited or not.
 * @param string $post_type        The post type being checked.
 *
 * @return bool
 */
function wp_kama_use_block_editor_for_post_type_filter( $use_block_editor, $post_type ){

	// filter...
	return $use_block_editor;
}
$use_block_editor(true/false)
Нужно или нет использовать Гутенберг редактор для типа записи.
По умолчанию: true
$post_type(строка)
Тип записи для которого проверяется возможность использования блочного редактора Гутенберг.

Примеры

0

#1 Полностью отключим Гутенберг на сайте

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

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

#2 Отключение Гутенберга только для указанного типа записи

Разрешим Гутенберг для типа записи post и отключим его для остальных типов записей.

// Разрешим Гутенберг для типа записи post.
add_filter( 'use_block_editor_for_post_type', function( $use, $post_type ){
	return in_array( $post_type, [ 'post' ] );
}, 100, 2 );

Список изменений

С версии 5.0.0 Введена.

Где вызывается хук

use_block_editor_for_post_type()
use_block_editor_for_post_type
wp-includes/post.php 8124
return apply_filters( 'use_block_editor_for_post_type', true, $post_type );

Где используется хук в WordPress

wp-admin/includes/admin-filters.php 89
add_action( 'use_block_editor_for_post_type', '_disable_block_editor_for_navigation_post_type', 10, 2 );