通常、ブログとしてwordpressを触っているだけだとカスタム投稿タイプというのは考えなくてよいので触れる機会はないかもしれません。
実はカスタム投稿タイプは奥が深く、いざ使おうと思ったときに、カスタム投稿タイプだけを理解しても、実はその先にタクソノミーやタームという壁があります。
この記事では、『投稿タイプ』と『タクソノミー』と『ターム』ってなんやねんという人に、私の理解を押し付ける記事です。
投稿タイプとカスタムタクソノミーとタームの違いは?
投稿タイプとは?
投稿タイプというのは、文字通り投稿のタイプです。
WordPressに最初からある投稿タイプは、『投稿(post)』と『固定ページ(page)』です。
それ以外の投稿タイプを追加する時にカスタム投稿タイプと呼びます。
有料テーマを買うとよく見かける、『ニュース』とか『ポートフォリオ』、Woocommerceを導入すると『商品』とかダッシュボードに追加されているのを見かけます。初期テーマに存在しない便利そうなやつが、それです。
タクソノミーとは?
カスタム投稿タイプを導入する時に、同時にタクソノミーとタームの話が出てくることが多いので、必ず必要だと勘違いしている人がいます。
タクソノミーやタームはカスタム投稿タイプを導入する時に必ず必要になるわけではありません。
タクソノミーとタームの区別がつかなくなる人が結構多いのではないかと思います。
タクソノミーとは、分類という意味らしいです。
『投稿』で言えば、タクソノミーは『カテゴリー』です。タームはその中でユーザーが作る実際のカテゴリーになります。
実際に使われない変な例(リンゴやバナナ)でタクソノミーやタームを説明しているのを見かけます。それは混乱のもとだとおもいます。
個人的には、使い慣れている『投稿』をベースにタクソノミーやタームを理解するのが第一で、その次に実際にタクソノミーやタームを使ってみて完全に慣れてしまうのがいいと思います。
タクソノミーが無いと、タームを作れない
カスタム投稿タイプだけ作ってタクソノミーを作らないと、カスタム投稿タイプの直下に記事が集まります。
タクソノミーが無いので、その下のタームも作れない、だから、記事を細かく分類はできなくなります。
タクソノミーが無い投稿タイプは、固定ページのようなイメージになり、階層がなくなります。
タクソノミーが必須というわけではない
別にタクソノミーが必須というわけではありません。ニュースなど細かく分類しなくてよいものであれば、タクソノミーは無しでカスタム投稿タイプだけでよいという場合もあります。
タクソノミーは複数定義できる
タクソノミーは、カスタム投稿タイプに対して複数定義できる。この部分は最初は結構混乱するところです。というのも投稿にはカテゴリーというタクソノミーしかないので、複数ある状況が理解しにくいからです。
タクソノミーとして、商品の値段、カテゴリなどを作ることで、それぞれにタームを定義することで、属性として与える使い方ができるようになります。
不動産サイトやECサイトなどでは必ず使われている機能です。
タームとは?
タームは、タクソノミーに対して、実際にユーザーが作るものです。
『投稿』では、タクソノミー『カテゴリー』に対して、ユーザーが自由にタームを追加することで記事に階層を持たせたり分類することができます。
投稿タイプをわけることでテンプレートを完全に分けてデザインを変更しやすくなる
投稿タイプを分けるメリットして、レイアウトやデザインをテンプレートで変更したい時にテンプレートファイルを他の投稿タイプと分けることができることがあげられます。
アーカイブやコンテンツのテンプレートを専用に設けてしまえば、好き勝手に変更できますので、かなり自由度が高くなるというわけです。
まとめ:すべてがカスタム投稿タイプである
いままでの説明でわかるように、投稿や固定ページというのもカスタム投稿タイプの一部であります。
使いやすいように専用のテンプレート関数が用意されているので別物のように感じますが、基本的な考え方はカスタム投稿タイプ、タクソノミー、タームというものがベースにあります。
実際にカスタム投稿タイプを使って、複雑なサイトを作ろうとするとゲロを吐きそうになりますが、慣れるととても便利な機能だと思います。