WordPressの通常の投稿タイプにはカテゴリーやタグ設定がデフォルトであります。
しかし、カスタム投稿タイプにはデフォルトではカテゴリーやタグの設定がありません。
このカスタム投稿タイプのカテゴリーやタグのことをカスタムタクソノミーと言い、必要な場合にはこれらを自分で作成することになります。
カスタムタクソノミーを作成する意味
記事をカテゴリー分けしたい、タグを付けて記事を管理したいなど分類を行う場合に使うことが多いのではないでしょうか。
記事一覧ページだけではデータ量が多く、訪れてくれたユーザーがわかりにくくなってしまうため、カテゴリー・タグ一覧ページを作り、記事を探しやすくするといった場合に有用です。
また、記事を絞り込むためにカテゴリー・タグ情報から絞り込みを行うということもできますよね。
さらには、事業内容と記事のカテゴリー情報をそれぞれ同一のものを作成し、カテゴリーが事業内容と一致すれば事業内容に関連記事として表示される、などといったこともできます。
ただの記事の分類だけでなく、使い方によって色々できるので有効活用してみてください。
カスタムタクソノミーの作成方法
カスタムタクソノミーの作成方法を紹介します。
例として”お知らせ(news)”というカスタム投稿タイプがあると仮定し、ソースコードを書きます。
下記のコードをfunctions.phpにコピペし、適当な形に書き換えてください。
コピペする場所は紐付けたいカスタム投稿タイプのコードの下が判別しやすくていいと思います。
functions.phpは何かあるとサイトが表示されなくなってしまうので、何か作業する際はバックアップを行ってください。
/**
* お知らせ
* カテゴリー
*/
$news_categories = array(
'label' => 'お知らせカテゴリー',
'labels' => array(
'name' => 'お知らせカテゴリー',
'singular_name' => 'お知らせカテゴリー',
'search_items' => 'お知らせカテゴリーを検索',
'popular_items' => 'よく使われているお知らせカテゴリー',
'all_items' => 'すべてのお知らせカテゴリー',
'parent_item' => 'お知らせカテゴリー',
'edit_item' => 'お知らせカテゴリーの編集',
'update_item' => '更新',
'add_new_item' => '新規お知らせカテゴリーを追加',
'new_item_name' => '新しいお知らせカテゴリー',
),
'public' => true,
'show_ui' => true,
'hierarchical' => true,
'show_tagcloud' => true,
'show_in_rest' => true,
);
register_taxonomy('news-category', array('news'), $news_categories);//('タクソノミー名', '所属する投稿タイプ', $cat);
注意しなければならない点は1点で、最後の行のarray(‘news’)という部分です。
register_taxonomy('news-category', array('news'), $news_categories);//('タクソノミー名', '所属する投稿タイプ', $cat);
ここは自分で作成したカスタム投稿タイプのslug情報を入れてください。でないと、紐付けたいカスタム投稿タイプのカテゴリーにならないだけでなく、エラーが発生してサイトが表示されなくなる場合もあります。