Gutenberg для кастомных типов запсей (custom post type)

Включить Gutenberg для кастомных типов записей

Многие разработчики могли заметить, что на кастомных типах записей не работает редактор Gutenberg после того, как вышел новый WordPress с этим редактором. Это нормально, беспокоиться нет смысла. Вы можете включить редактор Gutenberg для Custom Post Type самостоятельно.

Custom Post Type создавался с помощью плагина

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

Custom Post Type создавался с помощью кода

Если для добавления Custom Post Type в WordPress вы использовали код и функцию register_post_type, то необходимо добавить параметр в массив аргументов этой функции. А именно:

'show_in_rest'        => true, // добавить в REST API

В итоге у Вас должно получиться примерно такая функция, наприме:


add_action( 'init', 'register_post_types_blog' );
function register_post_types_blog()
{
    register_post_type( 'blog', [
        'label'  => null,
        'labels' => [
            'name'               => 'Каталог постов', // основное название для типа записи
            'singular_name'      => 'Пост', // название для одной записи этого типа
            'add_new'            => 'Добавить пост', // для добавления новой записи
            'add_new_item'       => 'Добавление пост', // заголовка у вновь создаваемой записи в админ-панели.
            'edit_item'          => 'Редактирование поста', // для редактирования типа записи
            'new_item'           => 'Новый пост', // текст новой записи
            'view_item'          => 'Смотреть пост', // для просмотра записи этого типа.
            'search_items'       => 'Искать пост', // для поиска по этим типам записи
            'not_found'          => 'Не найдено', // если в результате поиска ничего не было найдено
            'not_found_in_trash' => 'Не найдено в корзине', // если не было найдено в корзине
            'parent_item_colon'  => '', // для родителей (у древовидных типов)
            'menu_name'          => 'Блог', // название меню
        ],
        'description'         => '',
        'public'              => true,
        // 'publicly_queryable'  => null, // зависит от public
        // 'exclude_from_search' => null, // зависит от public
        // 'show_ui'             => null, // зависит от public
        // 'show_in_nav_menus'   => null, // зависит от public
        'show_in_menu'        => true, // показывать ли в меню адмнки
        // 'show_in_admin_bar'   => null, // зависит от show_in_menu
        'show_in_rest'        => true, // добавить в REST API. C WP 4.7
        'rest_base'           => null, // $post_type. C WP 4.7
        'menu_position'       => null,
        'menu_icon'           => null,
        //'capability_type'   => 'post',
        //'capabilities'      => 'post', // массив дополнительных прав для этого типа записи
        //'map_meta_cap'      => null, // Ставим true чтобы включить дефолтный обработчик специальных прав
        'hierarchical'        => false,
        'supports'            => [ 'title', 'editor', 'author','thumbnail','excerpt','trackbacks','custom-fields','comments','revisions','page-attributes','post-formats' ], //
        'taxonomies'          => [],
        'has_archive'         => true,
        'rewrite'             => true,
        'query_var'           => true,
    ] );
}

В результате добавления этого параметра к функции register_post_type, в админке Wordrpess у кастомного типа записей должен появиться редактор Gutenberg.