WordPress特集 - カスタム分類

情報を分類するためにWordPressでは投稿にカテゴリーとタグを設定することができます。それら標準で用意されている分類とは別に独自の分類(カスタム分類 or カスタムタクソノミー)を定義できます。

カテゴリーとタグ

まず標準で用意されているカテゴリーとタグについてですが、一番大きな違いは階層構造を持つかどうかです。カテゴリーは階層構造を持ちますが、タグは持ちません。タグはすべて同レベルになります。

例えて言うなら、カテゴリーはフォルダのイメージで、タグは付箋のイメージです。カテゴリーには「属する」、タグには「関連する」という感覚になります。

カテゴリーもタグも1つの投稿にそれぞれ複数設定することができます。ただカテゴリーは1つだけ設定し、タグは必要なだけ設定するケースが多いです。

投稿には必ずカテゴリーを設定しなければなりませんが、タグは任意です。カテゴリーなど最初から意識になく、投稿を追加した時もカテゴリーを設定した覚えはないということもありますが、その場合は初期設定で1つだけ登録されている「未分類」というカテゴリーに投稿は割り当てられます。

カスタム分類とは

情報(コンテンツ)の種類が多くなってくると、カテゴリーとタグだけでは対応できなくなります。例えば標準のカテゴリーはニュースを分類するために使っていたとしたら、会社の商品を分類するためには違う分類方法が欲しくなります。

そこで「商品分類」というカスタム分類(カスタムタクソノミー)を定義し、商品を分類するために使います。カスタム分類はカテゴリーのように階層構造を持つこともできます。また定義したからといって、必ず設定しなければならないというわけではなく、タグのように使うこともできます。

またカスタム分類はカスタム投稿タイプとセットで使う場合が多いです。情報の種類が多くなるということは通常の投稿だけでは足りなくなりますので、カスタム投稿タイプを作成します。そして作成したカスタム投稿タイプを分類するためにカスタム分類も同時に定義します。

カスタム分類には「ターム(term)」を登録する必要があります。タームはカスタム分類の中にある項目です。
例えばスーパーで使うような「商品分類」というカスタム分類があるとしたら、タームには「野菜」「肉類」「惣菜」などを登録します。階層構造を持つカスタム分類はタームを階層化することになります。

カスタム分類の作成方法

functions.phpにコードを記述する

オーソドックスな方法としては、functions.php に関数 register_taxonomy を使ってコードを記述することです。
Code Reference | register_taxonomy

プラグインを利用する

プラグイン「Custom Post Type UI」を使うと、管理画面から簡単にカスタム分類の作成ができます。
このプラグインはカスタム投稿タイプの作成にも使えますので、両方を同時に作成する場合は非常に便利です。

カスタム分類のテンプレート

「taxonomy-$分類名.php」というカスタム分類名で使用される専用のテンプレートがあります。またそれより優先される「taxonomy-$分類名-$ターム名.php」というテンプレートもあります。

カテゴリーやタグと共通のテンプレートは、「archive.php」になります。

優先順位は以下になります。

  1. taxonomy-$分類名-$ターム名.php
  2. taxonomy-$分類名.php
  3. taxonomy.php
  4. archive.php
  5. index.php

カスタム分類のURL

通常はURLの中にカスタム分類名とターム名を含みます。ただしタームが階層化されていてもURLには反映されません。

https://ドメイン名/カスタム分類名/ターム名/

投稿個別のURLは、カスタム分類に属しているかどうかは関係なく、パーマリンク設定に従ったURLとなります。

«次の特集記事»
«前の特集記事»

スポンサーリンク

オンライン講座

Webの基礎マスター講座ページへのリンク


連載講座:WordPressで作る簡単Webサイトページへのリンク

提供しているサービス

WordPressサイト制作出張講座ページへのリンク

WordPress を利用した Webサイト制作の方法を、
あなたのオフィスにうかがいご説明いたします。
料金:¥28,000

サービス詳細ページ >>

申し込みフォーム >>


Webサイト1日公開サービスページへのリンク

一刻も早く Webサイトが必要な方のために、
一緒に作業し1日で公開までもっていきます。
料金:¥28,000

サービス詳細ページ >>

申し込みフォーム >>

スポンサーリンク

ページの先頭へ