register_taxonomy()


WordPressの関数register_taxonomy()は、カスタムタクソノミーを登録するために使用されます。この関数を使用することで、投稿タイプに特定の分類方法を追加できます。

構文

register_taxonomy( string $taxonomy, array|string $object_type, array|string $args = array() );

引数の説明:

  • $taxonomy (string) — 登録するタクソノミーの名前。
  • $object_type (array|string) — このタクソノミーを適用する投稿タイプ。
  • $args (array|string) — タクソノミーのオプションを設定する配列。

例 1: 基本的なカスタムタクソノミーの登録

次のコードは、”genre”という名前のタクソノミーを投稿に登録します。

register_taxonomy( 'genre', 'post', array( 'label' => 'ジャンル', 'hierarchical' => true ) );

例 2: カスタム投稿タイプにタクソノミーを登録

“book”カスタム投稿タイプに”genre”タクソノミーを登録します。

register_taxonomy( 'genre', 'book', array( 'label' => 'ジャンル', 'public' => true ) );

例 3: タグ形式のタクソノミー

階層構造を持たない”topics”タクソノミーを登録します。

register_taxonomy( 'topics', 'post', array( 'label' => 'トピック', 'hierarchical' => false ) );

例 4: 複数の投稿タイプにタクソノミーを登録

“post”と”page”の両方に”category”タクソノミーを適用します。

register_taxonomy( 'category', array( 'post', 'page' ), array( 'label' => 'カテゴリ', 'public' => true ) );

例 5: カスタムタクソノミーに詳細なオプションを追加

次のコードは、詳細な設定を持つ”genre”タクソノミーを登録します。

register_taxonomy( 'genre', 'post', array( 'labels' => array( 'name' => 'ジャンル', 'singular_name' => 'ジャンル' ), 'hierarchical' => true, 'show_ui' => true, 'show_in_rest' => true ) );

注意点

カスタムタクソノミーを登録するときは、$taxonomyの名前が他の既存のタクソノミーや投稿タイプのスラッグと衝突しないように注意してください。また、$argsのオプションを慎重に設定することで、タクソノミーの動作を正確に制御できます。


関連機能: