在自定义帖子类型上启用古腾堡


19

我有以下自定义帖子类型:

function create_posttype() {
  register_post_type( 'companies',
    array(
      'labels' => array(
        'name' => __( 'شرکتهای عضو' ),
        'singular_name' => __( 'شرکت' )
      ),
      'supports' => array('title', 'editor', 'custom-fields', 'excerpt', 'thumbnail'),
      'public' => true,
      'has_archive' => true,
      'rewrite' => array('slug' => 'companies'),
    )
  );
}
add_action( 'init', 'create_posttype' );

在WordPress管理区域中显示经典编辑器。我试图在supports数组中将'editor'替换为'gutenberg',这是行不通的。我还添加了此代码,以我的功能建议在这里

add_filter('gutenberg_can_edit_post_type', 'prefix_disable_gutenberg');
function prefix_disable_gutenberg($current_status, $post_type)
{
    if ($post_type === 'companies') return true;
    return $current_status;
}

如何在自定义帖子类型上使用Gutenberg编辑器?

Answers:


37

为了使Gutenberg在“自定义帖子类型”中工作,您需要同时启用editorin supports(您已经拥有)和show_in_rest。因此,将其添加'show_in_rest' => true,到您的帖子注册参数数组中。


很高兴,我们欢迎您。
Alvaro

3

首先注册一个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'),
            'show_in_rest' => true,
            'supports' => array('editor')
        )
    );
}

add_action( 'init', 'cw_post_type' );

添加show_in_rest键,并通过您的自定义帖子类型将其设置为true。

'show_in_rest' => true,
   'supports' => array('editor')

如您所见,上面的代码片段只是将'show_in_rest'参数设置为'TRUE'。完成此步骤后,当您创建或编辑自定义帖子类型时,您将看到Gutenberg编辑器可见并启用。

有关所有步骤和查询的详细讨论,请参见 https://www.cloudways.com/blog/gutenberg-wordpress-custom-post-type/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.