カスタムタクソノミーを作ってみよう

はじめに

WordPressには「カテゴリー」や「タグ」といった、投稿を分類するための仕組みが標準で用意されていますが、サイトの規模が大きくなるにつれて、それだけでは情報をうまく整理しきれない場面が出てきます。
そこで登場するのが「カスタムタクソノミー」です。

これは、自分だけの分類ルール(カテゴリやタグのようなもの)を自由に作成できる機能で、特にカスタム投稿タイプと組み合わせることで、情報管理が飛躍的にしやすくなります。

編集ファイル

require get_template_directory() . '/inc/custom-taxonomies.php';
function register_news_category_taxonomy() {
  register_taxonomy('news_category', 'news', [
    'label' => 'ニュース分類',
    'labels' => [
      'name' => 'ニュース分類',
      'singular_name' => 'ニュース分類',
      'search_items' => '分類を検索',
      'all_items' => 'すべての分類',
      'edit_item' => '分類を編集',
      'update_item' => '分類を更新',
      'add_new_item' => '新規分類を追加',
      'new_item_name' => '新しい分類名',
      'menu_name' => 'ニュース分類',
    ],
    'hierarchical' => true,
    'public' => true,
    'show_ui' => true,
    'show_admin_column' => true,
    'show_in_rest' => true,
  ]);
}
add_action('init', 'register_news_category_taxonomy');

説明

カスタムタクソノミー用のカスタム関数の外部ファイルを読み込む
register_taxonomy
カスタムタクソノミーを作成します。
第一引数
カスタムタクソノミーのスラッグを指定します。
第二引数
様々なオプションを配列で設定します。
'labels' => array(),
管理画面上のカスタムタクソノミーの名前
'description' => '',
説明文
'publicly_queryable' => true,
標準なクエリ―を有効化
'capabilities' => array(),
操作できる権限の割り当て
'hierarchical' => true,
記事の階層構造を許可
'public' => false,
管理画面、サイトに表示する
'rewrite' => true,
スラッグの書き換え
'has_archive' => true,
アーカイブページを生成する
'query_var' => true,
検索のパラメーターキーを指定
'meta_box_cb' => null,
編集フォームのメタボックスを設定するコールバック関数
'show_ui' => true,
管理画面に表示
'show_in_nav_menus' => true,
外観のメニューに表示
'show_in_menu' => true,
管理画面のサイドバーに表示
※上記等様々なオプションがありますが、不必要であれば設定をしなくてもデフォルトの設定で反映されますので、全て設定をしなくても問題ありません。

最後に

スタムタクソノミーを活用することで、WordPressのコンテンツ管理は一段と整理され、より使いやすく、拡張性の高いサイト構築が可能になります。
特に複数の投稿タイプを扱うサイトや、複雑な情報構造を持つプロジェクトでは、その効果を実感しやすいでしょう。

最初は少し難しく感じるかもしれませんが、仕組みを理解すれば非常に強力なツールになります。
ぜひこの機会に、カスタムタクソノミーの導入を検討してみてください!