Gutenbergでカスタムタクソノミーをチェックボックス表示する設定。
以下functions.php。例はrecipeというカスタム投稿にspecialsというタクソノミー。
function specials_init() {
register_taxonomy(
'specials',
'recipe',
array(
'label' => '特集', // 管理画面のメニューに表示されるテキスト
'labels' => array(
'all_items' => '特集一覧', // 管理画面のメニューの下層に表示されるテキスト
'add_new_item' => '特集を追加' // タームの新規追加画面に表示されるテキスト
),
'public' => true,
'show_ui' => true,
'show_in_nav_menus' => true,
'show_in_rest' => true, //Gutenbergで表示有効化
'meta_box_cb' => 'post_categories_meta_box', //チェックボックスで表示
'hierarchical' => true //階層化しない場合でもtrueでないとチェックボックス表示できない
)
);
}
add_action( 'init', 'specials_init' );
ポイントは下の3行。だいたいコメントアウトに書いた通りですが、
- show_in_rest …これがないとGutenbergエディターで表示されない
- meta_box_cb …これでチェックボックス化
- hierarchical
特に③。階層化するかしないかの設定ですが、階層化したくなくてもtrueにする。
なおカスタム投稿でGutenberg使用にはregister_post_typeにも以下。
'show_in_rest' => true,
コメント