WordPress
カテゴリー、タグ、タクソノミー、タームの違いについてどこよりも分かりやすい解説を試みる
WordPressでサイトを提供するフロントサイドエンジニアや、ウェブデザイナーの方々など、おそらく一度はぶち当たる「カテゴリー」、「タグ」、「タクソノミー」、「ターム」という頭がこんがらがる存在。これ、私がよく口にする「文言によって解決すべきユーザビリティの問題」の象徴的なものだと思っています。英語圏の人だとしっくりくるのでしょうか?それは聞いてみたことがないので知りませんが。
当然のごとく、調べればたくさん記事が出てくるのですが、やはり「分かっている人」が書いている記事という側面が否めないところもあると思っています。
ここでは、自分なりに「そういうことか!」となるまでの思考プロセス、イメージをお伝えします。
図解
図にすると次のような形です。「タクソノミー」という器に対して、「カテゴリー」、「タグ」という名称がつけられて、その中の項目のことを「ターム」と呼びます。
通常の投稿においてのカテゴリーとタグの違い
カスタム投稿タイプにおいて「タクソノミー」という器は、WordPressのregister_taxonomy
という関数で作ることができます。
この関数の引数で、hierarchicalの値をtrueにするか、falseにするかで、タクソノミ―に階層を持たせるかどうかが決まります。
通常の投稿において「カテゴリー」という名称がついている器の中身(ターム)は階層を作ることができて、「タグ」という名称がついている器の中身(ターム)は階層を作ることができない設定になっています。この設定は変えられません。変えたければカスタム投稿タイプを使ってください、ということになります。
ちなみに、通常の投稿タイプと、カスタム投稿タイプが両方あると、それぞれの関数を使い分けなくてはいけなくなるので、私は通常の投稿タイプは使わないようにしています。通常の「投稿」メニューは非表示にもできるので。そのあたりは別の記事で解説しています。
「カスタム投稿タイプ」を利用する場合は通常の「投稿」は使わないという選択肢
カテゴリーとタグという言葉はカスタム投稿タイプにおいては、いったん忘れる
え?分かりやすい「カテゴリー」と「タグ」という言葉を忘れるの?という感じですが、はい、理解を進めるためにいったん忘れてみてください。
どういうことかと言いますと、カテゴリーとタグという言葉は、通常の投稿タイプではデフォルトで出てきますが、カスタム投稿タイプでは自由に付けられる名称の部分なのです。WordPressの関数で用意されている文言は「タクソノミー(taxonomy)」と「ターム(term)」です。
タクソノミーは複数(なんなら3つ以上)作ることができる
タクソノミーは日本語で近い意味の言葉は「分類」です。
おそらく日本人が一番しっくりくる言葉としては「カテゴライズ」かなと私は思います。1つの軸だけではなくて、複数の軸でカテゴライズできるのです。
タクソノミーを2つ作るときに用いられる言葉が通常、「カテゴリー」と「タグ」
タクソノミーを2つ作る、つまり2軸でカテゴライズする場合に、1つの軸にはカテゴリーという名称をつけて、もう1つの軸はタグという名称をつける、というのが一般化しているだけです。例えばカテゴリーではなく、パターンという名前をつけてもよかったりします。
例えばですが、「商品」というカスタム投稿タイプを作ったとして、その中に「商品カテゴリー」「メーカー」「オプション」というタクソノミーがある、というのが考えられます。
タクソノミーがいくつでも作れるという仕様のため、どうしてもそれらの総称が必要になっていて、その総称がタクソノミーです。
taxonomy.phpというファイルがあり、このファイルはタクソノミーが複数あれば次のように分けて作ることができます。
- taxonomy-products.php
- taxonomy-makers.php
- taxonomy-options.php
このように分ければ、それぞれに異なるコードを書けますし、これらファイルが用意されてない場合は、taxonomy.phpファイルが読み込まれます。
タクソノミーは「分類」、タームは「項目」
この「タクソノミー」という言葉に置き換わる言葉を考えるのがなかなか難しいとは思います。器であり、名詞なので「カテゴライズ」も違う。なのでホントは、タクソノミーが「カテゴリー」で、その中にタグパターン1、タグパターン2、というような感じであったなら分かりやすかったのでしょうか?カスタムタクソノミーのことは「カスタム分類」と呼ばれているようです。つまり英語にすると「カテゴリー」です。やっぱりややこしい!!
「カテゴリー」と「タグ」は並列の関係
カテゴリー>タグという関係、つまりカテゴリーが上位で、その下にタグがあるというイメージを持ちませんか?(私だけ?)
そうではないのです。改めて言いますと、「カテゴリー」と「タグ」は自由に決められる名称で、先ほどとは別の例を出せば「地域別」と「職種別」でもいいのです。どういう軸で分けるかの違いです。なので、設ける数というのは決まってません。0でもいいですし、1つでも、3つでも大丈夫です。
タームとは
タームは、「カテゴリー」や「タグ」などと名称をつけたタクソノミーの中に作る項目の総称です。例えば「地域別」という名称をつけたタクソノミーの中に「関東」「近畿」などとあれば、それらがタームです。
あらためて、最初の図を掲載します。
まとめ
いかがでしたでしょうか?これでやっと理解できた!という人がいればこれ幸いです。そういう方いたら、問い合わせフォームからコメントもらえれば嬉しいです。気軽にやり取りできる制作仲間も募集中です。