WordPress:Gutenbergをカスタム投稿で有効化する方法/有効化されないときの確認ポイント

WordPress:Gutenbergをカスタム投稿で有効化する方法/有効化されないときの確認ポイント

WordPressでGutenbergをカスタム投稿で有効化する方法 兼 Gutenbergがカスタム投稿で有効化されないときの確認ポイントを紹介します。

※以下で紹介している方法は、WordPress Ver 5.0.0 で確認等行ったものです。

カスタム投稿を実装する際、とりあえず用意する程度であればfunctions.phpに下記のような記述で実装できます。

functions.php

add_action( 'init', 'create_post_type' );
function create_post_type() {
  register_post_type(
    'news',
    array(
      'labels' => array(
        'name' => __( 'News' ),
        'singular_name' => __( 'News' )
      ),
      'public' => true,
      'has_archive' => true,
    )
  );
}

ただ、この記述で実装したカスタム投稿にはGutenbergが有効化されません。
カスタム投稿でGutenbergを有効化する場合は、register_post_type()show_in_resttrueにする必要があり、上の記述に追記した場合は下記のような形になります。

functions.php

add_action( 'init', 'create_post_type' );
function create_post_type() {
  register_post_type(
    'news',
    array(
      'labels' => array(
        'name' => __( 'News' ),
        'singular_name' => __( 'News' )
      ),
      'public' => true,
      'has_archive' => true,
      'show_in_rest' => true,
    )
  );
}

ちなみに、ここで紹介している方法はfunctions.phpで実装した場合になるので、プラグインを利用してカスタム投稿を実装しているのであれば各プラグインの設定などで変更する必要があります。
各プラグインでどのように項目を設けているかはわかりませんが、そのまま'show_in_rest'という項目になっているかREST APIの有効化などが多いと思います。

また、Gutenbergを有効化させるもうひとつの条件としてエディタを有効化している必要もあり、エディタが無効化されていると'show_in_rest' => trueが記述されていてもGutenbergが有効化されません。
上で紹介したような'supports'の指定なしで実装していればデフォルトでエディタが有効化されているとは思いますが、例えば'supports'を指定していて且つ'editor'を指定していないとか何かしらのプラグインを利用してエディタが無効化されている場合は、これらの記述・設定を見直してエディタを使えるようにすればGutenbergが有効化されると思います。

Gutenbergを試そうとしたのに表示されないとか一部投稿タイプだけ無効化されているといったときは、まずこれらが設定されているかを確認してみてください。

Close the search window,
please press close button or esc key.