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

时间:2018-12-30 作者:ehsan

我有此自定义帖子类型:

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数组中用“gutenberg”替换“editor”,但这不起作用。我还按照建议将此代码添加到我的函数中here:

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;
}
如何在自定义帖子类型上使用古腾堡编辑器?

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

要使Gutenberg在自定义帖子类型中工作,您需要同时启用editor 在里面supports (您已经拥有)和show_in_rest. So添加\'show_in_rest\' => true, 注册后参数数组。

SO网友:Owais Alam

首先注册一个古腾堡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\\u in\\u rest键,并通过自定义帖子类型将其设置为true。

\'show_in_rest\' => true,
   \'supports\' => array(\'editor\')
如您所见,上面的代码段只是将“show\\u in\\u rest”参数设置为“TRUE”。在此步骤之后,当您创建或编辑自定义帖子类型时,您将看到Gutenberg编辑器可见并已启用。

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