web-dev-qa-db-ja.com

カスタム投稿タイプでグーテンベルクを有効にする

このカスタム投稿タイプがあります。

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管理領域の古典的なエディタを示しています。サポートしていない配列で、 '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エディタを追加するにはどうすればよいですか。

10
ehsan

カスタム投稿タイプで作業するには、グーテンベルクがeditorsupports(これはすでに持っている)とshow_in_restの両方を有効にする必要があります。それで'show_in_rest' => true,をあなたの登録後の引数の配列に追加してください。

18
Alvaro

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/ で詳しく説明しています。

1
Owais Alam