На протяжении многих лет сообщество WordPress использовало пользовательские типы записей (CPT - Custom Post Types) для расширения функциональности стандартной платформы WordPress. Учитывая популярность, эта функция стала неотъемлемой частью WordPress 5.x.
В текущей версии WordPress редактор Gutenberg доступен только для страниц и записей по умолчанию.
Поскольку пользовательские типы постов WordPress присутствуют практически везде, недоступность редактора Gutenberg - это то, о чем сообщество говорило с момента выхода WordPress 5.0. Если у вас есть CPT на сайте WordPress с версией выше 5.x, то при создании или редактировании CPT вы увидите старый добрый классический редактор (Classic Editor).
Хотя в ближайших версиях планируется устранить эту особенность, вам не обязательно ждать, пока команда поддержки ядра WordPress выпустит обновление. На самом деле, если вы хотите использовать редактор Gutenberg с текущим кастомным постом на своем сайте, то нам нужно будет сделать минимум действий.
Я объясню как зарегистрировать пользовательский тип постов WordPress и затем покажу вам, как включить Gutenberg для пользовательских типов постов.
Регистрация пользовательских типов записей
Начнем с регистрации пользовательского типа записи. Этот процесс довольно прост и включает в себя добавление следующего фрагмента кода (сниппета - прим.ред.).
/* Register WordPress Gutenberg CPT */
function cw_post_type() {
register_post_type( 'portfolio',
// WordPress CPT Options Start
array(
'labels' => array(
'name' => __( 'Portfolio' ),
'singular_name' => __( 'Portfolio' )
),
'has_archive' => true,
'public' => true,
'rewrite' => array('slug' => 'portfolio'),
)
);
}
add_action( 'init', 'cw_post_type' );
Когда сниппет установлен, пользовательский тип поста зарегистрирован. Однако, что удивительно - когда вы попытаетесь создать или отредактировать пользовательский тип поста, вы все равно увидите старый редактор Classic.

Добавление поддержки Gutenberg
Теперь, чтобы включить редактор Gutenberg в пользовательских постах WordPress, необходимо выполнить дополнительный простой шаг - добавить следующий фрагмент кода к сниппету выше:
- добавить поддержку редактора,
- добавить ключ
show_in_rest
и установить его вtrue
через ваш пользовательский тип поста
'show_in_rest' => true,
'supports' => array('editor')
Как вы можете видеть, приведенный выше фрагмент кода просто установил параметр 'show_in_rest'
в значение 'TRUE'
. После этого шага при создании или редактировании пользовательского типа поста вы увидите активным редактор Gutenberg.

Вот код, который вы поместите в файл functions.php, расположенный в папке темы:
/*Register WordPress Gutenberg CPT */
function cw_post_type() {
register_post_type( 'portfolio',
// WordPress CPT Options Start
array(
'labels' => array(
'name' => __( 'Portfolio' ),
'singular_name' => __( 'Portfolio' )
),
'has_archive' => true,
'public' => true,
'rewrite' => array('slug' => 'portfolio'),
'show_in_rest' => true,
'supports' => array('editor')
)
);
}
add_action( 'init', 'cw_post_type' );
Использование редактора Gutenberg с пользовательскими типами постов WordPress - это простой вопрос установки нужных параметров в файле functions.php. Как только нужный сниппет будет установлен, вы сможете легко получить доступ к редактору Gutenberg в ваших пользовательских постах.