WordPressのカスタムタクソノミーとは?作り方と役割を解説

WordPressのカスタムタクソノミーとは?作り方と役割を解説 WordPress

WordPressには記事を分類するための「カテゴリー」や「タグ」がありますが、それと同じようなもので「カスタムタクソノミー」があります。

今回はカスタムタクソノミーとは何か?と、その作り方を解説します。

 

スポンサーリンク

カスタムタクソノミーとは?

カスタムタクソノミーとはWordPressの「カテゴリー」や「タグ」のようなもので、自分で新しく作ることができる分類のことです。

WordPressは「カテゴリー」や「タグ」で記事を分類できますよね。

これ実は全く別の「カテゴリー」という大枠を自分で新しく作ることができます。これがカスタムタクソノミーです。

 

カスタムタクソノミーの図説

イマイチピンとこない人は「要するにカテゴリーのことだな」くらいの認識で大丈夫です。

 

何のためにカスタムタクソノミーを作るのか?

「最初からカテゴリーがあるならわざわざカスタムタクソノミーを作る必要はないのでは?」と思うかもしれません。

しかし、カスタムタクソノミーはカスタム投稿タイプとセットで使うとかなり便利です。

というのも、カスタム投稿タイプはデフォルトでは記事のカテゴリー分けができないからです。

カスタムタクソノミーはカスタム投稿タイプと使うと便利、図説

 

なのでカスタムタクソノミーを自分で作ることで、カスタム投稿タイプの記事でもカテゴリー分けができるようになります。

カスタムタクソノミーがあればカスタム投稿タイプの記事を分けられる、図説

 

カスタム投稿タイプについて知らない人は以下の記事で解説しているので参考にどうぞ。

>>WordPressのカスタム投稿タイプとは?作り方と投稿タイプの違いも解説

 

カスタムタクソノミーの作り方

カスタムタクソノミーの作り方は、

  • プラグインを使って作る方法
  • functions.phpを編集して作る方法

の2種類あります。

順番に説明します。

 

プラグインを使って作る方法

「Custom Post Type UI」というプラグインを使ってカスタム投稿タイプを作ります。

管理画面から「プラグイン→新規追加」と進み、「cptui」と検索すると出てきます。

custom post type uiの画像

 

インストールして有効化するとこんな画面になります。これでインストールはokです。

custom post type ui インストール完了画面

 

管理画面の下の方に「CPT UI」という項目が追加されるので、「タクソノミーの追加と編集」をクリックします。

カスタムタクソノミーを追加する

 

この画面でカスタムタクソノミーを追加・編集します。

カスタムタクソノミーを編集する画面

 

入力する箇所はこの4つです。

 

1:タクソノミースラッグ

タクソノミースラッグはURLみたいなものです。カテゴリーのスラッグと同じような感じですね。

WordPressのループ処理や、カスタムタクソノミーの各々の項目(ターム)に属する記事一覧を表示するときのURLに使われたりします。

 

2、3:複数形・単数形のラベル

「複数形・単数形のラベル」は管理画面に表示する名前です。どちらも同じにします。

今回は「地域」という表示名にしたので管理画面には「地域」と表示されます。

カスタムタクソノミーのラベル

 

4:利用する投稿タイプ

「利用する投稿タイプ」は作ったカスタムタクソノミーをどの投稿タイプで使用するかを選択します。大体の場合はカスタム投稿タイプを選択しますね。

チェックを入れた投稿タイプで作成したカスタムタクソノミーが使用できるようになります。

 

カスタムタクソノミーの設定をする

カスタムタクソノミーを作成したらやっておくべき設定があります。下にスクロールすると設定が出てきます。

設定する箇所は以下の4箇所です。

カスタム投稿タイプの設定

 

1:階層

各々のカテゴリー項目(ターム)に階層関係を持たせるかどうかを決めます。

  • 階層あり→カテゴリーみたいな感じ
  • 階層なし→タグみたいな感じ

になります。

階層関係有りとナシの違い

 

2:階層リライト

「階層」がTrueになっているのが前提の設定です。

各々のカテゴリー項目(ターム)に親子関係を持たせた場合に、子タームにアクセスできるようにするかを決めます。デフォルトではアクセスできません。

カテゴリーで言えば「子カテゴリーの記事一覧ページにアクセスできるかどうか」を決める設定です。

よくわからなかったらTrueにしておけばとりあえずokです。

 

3:管理画面でカラムを表示

管理画面で記事が属するターム名を表示するかどうかを決めます。

表示させた方がどの記事がどのタームに属しているかわかりやすいので、Trueにしておくといいでしょう。

管理画面でカラムを表示:あり

 

4:クイック編集 / 一括編集パネルに表示

管理画面で記事のクイック編集をする時にタームまで表示するかどうかの設定です。

記事の属するタームを手っ取り早く変えたい時にクイック編集が使えると便利なので、Trueにしておくといいでしょう。

クイック編集 / 一括編集パネルに表示

 

最後に「タクソノミーを保存」をクリックして終わりです!

作成したカスタムタクソノミーに紐付けた投稿タイプにマウスをホバーして表示されればokです!

 

functions.phpを編集して作る方法

functions.phpに直接コードを書くことでカスタムタクソノミーを作ります。慣れればコピペでもできるのでこっちのやり方に慣れておくといいと思います。

カスタムタクソノミーを追加するコードは以下の通り。

function add_taxonomy() {
  register_taxonomy(
  'custom_taxonomy', // タクソノミー名
  'custom', // 関連付けるカスタム投稿タイプ
  array(
    'label' => 'カスタムタクソノミー', // 管理画面のメニューに表示されるテキスト
    'singular_label' => 'カスタムタクソノミー', // 管理画面のメニューに表示されるテキスト
    'labels' => array(
      'all_items' => 'カスタムタクソノミー一覧', // 管理画面のメニューの下層に表示されるテキスト
      'add_new_item' => 'カスタムタクソノミーを追加' // タームの新規追加画面に表示されるテキスト
    ),
    'public' => true,
    'show_ui' => true,
    'show_in_nav_menus' => true,
    'hierarchical' => true // 階層関係を持たせるかどうか
    )
  );	
}
add_action( 'init', 'add_taxonomy' );

上のコードの場合、「custom」という投稿タイプに「custom_taxonomy」というカスタムタクソノミーを追加します。先に「custom」という投稿タイプを作成しておく必要があるので注意してください。

'hierarchical'をtrueにするとカテゴリーのように階層関係を持ち、falseにするとタグのように階層関係を持たなくなります。

 

ちなみにカスタム投稿タイプとカスタムタクソノミーを同時に記述することもできます。

その場合は以下のようなコードになります。

function create_post_type() {
	// カスタム投稿タイプを作成
	register_post_type( 'custom', // スラッグ
		array(
			'label' => 'カスタム投稿', // 管理画面のメニューに表示されるテキスト
			'labels' => array(
				'all_items' => 'カスタム投稿一覧' // 管理画面のメニューの下層に表示されるテキスト
			),
			'public' => true, 
			'has_archive' => true, // アーカイブページにアクセスできるようにする
			'menu_position' => 5, 
			'supports' => array(
				'title', // 記事タイトル
				'editor', // 記事本文
				'thumbnail', // アイキャッチ画像
			)
		)
	);
	
  // カスタムタクソノミーを作成
  register_taxonomy(
  'custom_taxonomy', // タクソノミー名
  'custom', // 関連付けるカスタム投稿タイプ
  array(
    'label' => 'カスタムタクソノミー', // 管理画面のメニューに表示されるテキスト
    'singular_label' => 'カスタムタクソノミー', // 管理画面のメニューに表示されるテキスト
    'labels' => array(
      'all_items' => 'カスタムタクソノミー一覧', // 管理画面のメニューの下層に表示されるテキスト
      'add_new_item' => 'カスタムタクソノミーを追加' // タームの新規追加画面に表示されるテキスト
    ),
    'public' => true,
    'show_ui' => true,
    'show_in_nav_menus' => true,
    'hierarchical' => true // 階層関係を持たせるかどうか
    )
  );	
}
add_action( 'init', 'create_post_type' );

これをそのままfunctions.phpにコピペすると、管理画面に「カスタム投稿」という投稿タイプが表示され「カスタムタクソノミー」という項目が追加されると思います。

あとはこのコードを自分の好きなようにいじるといいでしょう。

 

まとめ

カスタムタクソノミーは最初は難しいですが、一度理解してしまえばかなり便利でWordPressのカスタマイズ性を大いに高めてくれます。

ぜひ試してみてください!