【WordPress】ブロックエディタのタグ一覧を表示して選択する

WordPressに登録したタグの一覧をブロックエディタの右パネルに表示して、チェックボックスから選択できるようにする。

ソースコード

function re_register_post_tag_taxonomy() {
  $tag_slug_args = get_taxonomy('post_tag');
  $tag_slug_args->hierarchical = true;
  $tag_slug_args->meta_box_cb = 'post_categories_meta_box';
  register_taxonomy('post_tag', 'post', (array) $tag_slug_args);
}
add_action('init', 're_register_post_tag_taxonomy', 1);

コードの解説

$tag_slug_args = get_taxonomy('post_tag');

get_taxonomy:タクソノミーの設定情報(メタデータ)が入ったオブジェクトを取得します。

$tag_slug_args->hierarchical = true;

hierarchical = true:階層構造にするか、しないか。

$tag_slug_args->meta_box_cb = 'post_categories_meta_box';

meta_box_cb:メタボックスの表示に使用されるコールバック関数名を指定する。メタボックスとは、記事投稿画面の右サイドバーにある「カテゴリー」や「タグ」などのボックスのこと。

meta_box_cbpost_categories_meta_boxを指定すると、チェックボックス化できる。

register_taxonomy('post_tag', 'post', (array) $tag_slug_args);

register_taxonomy:「カスタムタクソノミー」を追加するための関数。

基本形は以下のようになる。

register_taxonomy( $taxonomy, $object_type, $args );

register_taxonomyは、関数は init アクションを使って呼び出す必要があるので、最終行は、

add_action('init', 're_register_post_tag_taxonomy', 1);

のように、add_actionにフックする。

参考:https://sdband.jp/thursday/78/