创建自定义帖子类型时在Gutenberg中显示的经典编辑器

时间:2019-01-24 作者:Sam

我第一次用古腾堡建立了一个主题。过去,我构建了如下自定义帖子类型:

// Register Custom Post Type
function custom_post_type() {

    $labels = array(
        \'name\'                  => _x( \'Post Types\', \'Post Type General Name\', \'text_domain\' ),
        \'singular_name\'         => _x( \'Post Type\', \'Post Type Singular Name\', \'text_domain\' ),
        \'menu_name\'             => __( \'Post Types\', \'text_domain\' ),
        \'name_admin_bar\'        => __( \'Post Type\', \'text_domain\' ),
        \'archives\'              => __( \'Item Archives\', \'text_domain\' ),
        \'attributes\'            => __( \'Item Attributes\', \'text_domain\' ),
        \'parent_item_colon\'     => __( \'Parent Item:\', \'text_domain\' ),
        \'all_items\'             => __( \'All Items\', \'text_domain\' ),
        \'add_new_item\'          => __( \'Add New Item\', \'text_domain\' ),
        \'add_new\'               => __( \'Add New\', \'text_domain\' ),
        \'new_item\'              => __( \'New Item\', \'text_domain\' ),
        \'edit_item\'             => __( \'Edit Item\', \'text_domain\' ),
        \'update_item\'           => __( \'Update Item\', \'text_domain\' ),
        \'view_item\'             => __( \'View Item\', \'text_domain\' ),
        \'view_items\'            => __( \'View Items\', \'text_domain\' ),
        \'search_items\'          => __( \'Search Item\', \'text_domain\' ),
        \'not_found\'             => __( \'Not found\', \'text_domain\' ),
        \'not_found_in_trash\'    => __( \'Not found in Trash\', \'text_domain\' ),
        \'featured_image\'        => __( \'Featured Image\', \'text_domain\' ),
        \'set_featured_image\'    => __( \'Set featured image\', \'text_domain\' ),
        \'remove_featured_image\' => __( \'Remove featured image\', \'text_domain\' ),
        \'use_featured_image\'    => __( \'Use as featured image\', \'text_domain\' ),
        \'insert_into_item\'      => __( \'Insert into item\', \'text_domain\' ),
        \'uploaded_to_this_item\' => __( \'Uploaded to this item\', \'text_domain\' ),
        \'items_list\'            => __( \'Items list\', \'text_domain\' ),
        \'items_list_navigation\' => __( \'Items list navigation\', \'text_domain\' ),
        \'filter_items_list\'     => __( \'Filter items list\', \'text_domain\' ),
    );
    $args = array(
        \'label\'                 => __( \'Post Type\', \'text_domain\' ),
        \'description\'           => __( \'Post Type Description\', \'text_domain\' ),
        \'labels\'                => $labels,
        \'supports\'              => false,
        \'taxonomies\'            => array( \'category\', \'post_tag\' ),
        \'hierarchical\'          => false,
        \'public\'                => true,
        \'show_ui\'               => true,
        \'show_in_menu\'          => true,
        \'menu_position\'         => 5,
        \'show_in_admin_bar\'     => true,
        \'show_in_nav_menus\'     => true,
        \'can_export\'            => true,
        \'has_archive\'           => true,
        \'exclude_from_search\'   => false,
        \'publicly_queryable\'    => true,
        \'capability_type\'       => \'page\',
    );
    register_post_type( \'post_type\', $args );

}
add_action( \'init\', \'custom_post_type\', 0 );
将其添加到函数时。php,创建帖子时会出现经典编辑器。

我想我需要在REST中启用post类型?

2 个回复
最合适的回答,由SO网友:Sam 整理而成

是的,你只需要添加\'show_in_rest\' => true

以下是完整片段:

// Register Custom Post Type
function custom_post_type() {

    $labels = array(
        \'name\'                  => _x( \'Post Types\', \'Post Type General Name\', \'text_domain\' ),
        \'singular_name\'         => _x( \'Post Type\', \'Post Type Singular Name\', \'text_domain\' ),
        \'menu_name\'             => __( \'Post Types\', \'text_domain\' ),
        \'name_admin_bar\'        => __( \'Post Type\', \'text_domain\' ),
        \'archives\'              => __( \'Item Archives\', \'text_domain\' ),
        \'attributes\'            => __( \'Item Attributes\', \'text_domain\' ),
        \'parent_item_colon\'     => __( \'Parent Item:\', \'text_domain\' ),
        \'all_items\'             => __( \'All Items\', \'text_domain\' ),
        \'add_new_item\'          => __( \'Add New Item\', \'text_domain\' ),
        \'add_new\'               => __( \'Add New\', \'text_domain\' ),
        \'new_item\'              => __( \'New Item\', \'text_domain\' ),
        \'edit_item\'             => __( \'Edit Item\', \'text_domain\' ),
        \'update_item\'           => __( \'Update Item\', \'text_domain\' ),
        \'view_item\'             => __( \'View Item\', \'text_domain\' ),
        \'view_items\'            => __( \'View Items\', \'text_domain\' ),
        \'search_items\'          => __( \'Search Item\', \'text_domain\' ),
        \'not_found\'             => __( \'Not found\', \'text_domain\' ),
        \'not_found_in_trash\'    => __( \'Not found in Trash\', \'text_domain\' ),
        \'featured_image\'        => __( \'Featured Image\', \'text_domain\' ),
        \'set_featured_image\'    => __( \'Set featured image\', \'text_domain\' ),
        \'remove_featured_image\' => __( \'Remove featured image\', \'text_domain\' ),
        \'use_featured_image\'    => __( \'Use as featured image\', \'text_domain\' ),
        \'insert_into_item\'      => __( \'Insert into item\', \'text_domain\' ),
        \'uploaded_to_this_item\' => __( \'Uploaded to this item\', \'text_domain\' ),
        \'items_list\'            => __( \'Items list\', \'text_domain\' ),
        \'items_list_navigation\' => __( \'Items list navigation\', \'text_domain\' ),
        \'filter_items_list\'     => __( \'Filter items list\', \'text_domain\' ),
    );
    $args = array(
        \'label\'                 => __( \'Post Type\', \'text_domain\' ),
        \'description\'           => __( \'Post Type Description\', \'text_domain\' ),
        \'labels\'                => $labels,
        \'supports\'              => false,
        \'taxonomies\'            => array( \'category\', \'post_tag\' ),
        \'hierarchical\'          => false,
        \'public\'                => true,
        \'show_ui\'               => true,
        \'show_in_menu\'          => true,
        \'menu_position\'         => 5,
        \'show_in_admin_bar\'     => true,
        \'show_in_nav_menus\'     => true,
        \'can_export\'            => true,
        \'has_archive\'           => true,
        \'exclude_from_search\'   => false,
        \'publicly_queryable\'    => true,
        \'capability_type\'       => \'page\',
        \'show_in_rest\'          => true,
    );
    register_post_type( \'post_type\', $args );

}
add_action( \'init\', \'custom_post_type\', 0 );

SO网友:Owais Alam

在当前版本的WordPress(5.1 RC)中,Gutenberg仅在默认页面和帖子类型中可见。由于WordPress自定义帖子类型几乎无处不在,自WordPress 5.0发布以来,社区一直在谈论Gutenberg editor的不可用性。首先,您必须注册Gutenberg WordPress自定义帖子类型

/*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\' );
现在为WordPress自定义帖子类型添加Gutenberg支持

\'show_in_rest\' => true,
   \'supports\' => array(\'editor\')
以下是有关Use Gutenberg with WordPress Custom Post Types

相关推荐