WordPressのGutenberg(グーテンベルク)利用時、管理画面でカスタムタクソノミーの選択部分が出ない


タイトルのネタ、ずーーーっと分からなくて困りまくっていました。
いくらGoogleで検索しても、カスタムフィールドのことばかり検索結果に出てくる。
Googleにとっては、カスタムフィールドとカスタムタクソノミーは一緒のものとして判定されているように感じる。もうちょっと精進してほしい、Google。

で、本題。

Gutenberg(グーテンベルク)を使っている状態で、管理画面のカスタム投稿タイプの投稿画面を見ると、カスタムタクソノミー、まぁ要するにカテゴリーやらタグやらを選択できるところが表示されない。困った。

function create_book_taxonomies() {
	// (カテゴリーのような)階層化したカスタム分類を新たに追加
	$labels = array(
		'name'              => _x( 'Genres', 'taxonomy general name' ),
		'singular_name'     => _x( 'Genre', 'taxonomy singular name' ),
		'search_items'      => __( 'Search Genres' ),
		'all_items'         => __( 'All Genres' ),
		'parent_item'       => __( 'Parent Genre' ),
		'parent_item_colon' => __( 'Parent Genre:' ),
		'edit_item'         => __( 'Edit Genre' ),
		'update_item'       => __( 'Update Genre' ),
		'add_new_item'      => __( 'Add New Genre' ),
		'new_item_name'     => __( 'New Genre Name' ),
		'menu_name'         => __( 'Genre' ),
	);
	$args = array(
		'hierarchical'      => true,
		'labels'            => $labels,
		'show_ui'           => true,
		'show_admin_column' => true,
		'query_var'         => true,
		'rewrite'           => array( 'slug' => 'genre' ),
	);
	register_taxonomy( 'genre', array( 'book' ), $args );
}

※WordPress Codex日本語版 [register_taxonomy] より

いくら調べてもカスタムフィールドが出るのでついに海外のサイトも調べまわったら、何とあっさり出た。$args の中身を下のように追加する。

	$args = array(
		'hierarchical'      => true,
		'labels'            => $labels,
		'show_ui'           => true,
		'show_admin_column' => true,
		'query_var'         => true,
		'rewrite'           => array( 'slug' => 'genre' ),
        'show_in_rest'      => true
	);

これで表示された。最後に追加している [ ‘show_in_rest’ => true ] ってのが必要になったらしい。

もう少しいろいろ読み漁ってみたら、Gutenberg(グーテンベルク)のカスタムタクソノミーはrestAPIを利用しているらしく、そのため、restAPIを利用するぜ、っていう宣言がないと表示できないらしい。

とりあえずちょっとでも、Gutenberg(グーテンベルク)のカスタムタクソノミーが管理画面で出ないんだけど、って人の助けになればと思います。