【WordPress】カスタムタクソノミーの作り方と使い方(表示方法)

WordPressには、「カテゴリー」と「タグ」というものがあり、これらはタクソノミーといいます。
タクソノミーは記事を分類するためのもので、オリジナルの分類(カスタムタクソノミー)を作ることもできます。

今回はカスタムタクソノミーの作り方と使い方を紹介します。

タクソノミーに関しては説明が難しいので、用語が間違っている場合があります。
スポンサーリンク

タクソノミー・タームとは

タクソノミーとは

タクソノミーとは分類のことで、カスタムタクソノミーとはオリジナルの分類のことです。

メインブログを例にして説明します。
このブログは旅と暮らしをテーマにしたブログです(現在はほとんど旅のことだけですが)。

大カテゴリーは「旅のこと」、「暮らしのこと」のふたつで、それぞれの中にいくつかの小カテゴリーがあります。

これとは別に、「地域」というカスタムタクソノミーを作っています。

■タクソノミー(カテゴリー)
unusual
|
|-旅のこと
| |-旅行記
| |-旅の準備
| |-旅の情報
| |-宿情報
| |-旅のコラム
|
|-暮らしのこと
|-料理
|-雑記
|-暮らしのコラム
■カスタムタクソノミー(地域)
unusual
|
|-アジア
|  |-東南アジア
|  |  |-タイ
|  |  |-カンボジア
|  |  |-ベトナム
|  | ・
|  | ・
|  |-南アジア
|  |  |-インド
|  |  |-パキスタン
|  | ・
|  | ・
|
|-ヨーロッパ
|  |-東ヨーロッパ
|  |  |-ウクライナ
|  |  |-ポーランド
|  |  |-ハンガリー
|  | ・
|  | ・

タームとは

タームとは、タクソノミー内の項目のことです。

上の例で言うと、カスタムタクソノミー(地域)の中にターム(東南アジア)やターム(タイ)があるということです。

一旦整理すると

WordPressには、デフォルトで「カテゴリー」、「タグ」という【タクソノミー】が用意されています。

そして、「カテゴリー」、「タグ」以外に自分で作った【タクソノミー】を【カスタムタクソノミー】と呼びます。

「カテゴリー」と「タグ」は全く別のもののように感じますが、実は階層式(親子階層がある)のタクソノミーか、非階層式(親子階層がない)のタクソノミーかの違いしかありません。

なのでカスタムタクソノミーを作る際も、階層式(カテゴリー風)か非階層式(タグ風)かを選ぶことができます。

上の例で言うと、カスタムタクソノミー(地域)は階層式(カテゴリー風)のカスタムタクソノミーです。

【階層とは?】
タームに親子階層があるタクソノミーが階層式です。
タクソノミー(カテゴリー)を例にすると、親ターム「旅のこと」の中に、子ターム「旅行記」があるので、「カテゴリー」は階層式のタクソノミーだということです。

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

ここからは、カスタムタクソノミーの作り方です。
プラグインを使った方法を紹介します。

プラグイン(Custom Post Type UI)の導入

Custom Post Type UIというプラグインをインストールします。

Custom Post Type UIは「カスタム投稿タイプ」と「カスタムタクソノミー」を追加・管理するプラグインですが、今回は「カスタム投稿タイプ」には触れません。

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

Custom Post Type UIをインストールすると、Wordpress管理画面左側に[CPT UI]というメニューが追加されます。

[タクソノミーの追加と編集]をクリックします。

[タクソノミーの追加と編集]画面が表示されます。

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

今回は、上でも挙げた「地域」というタクソノミーを例にします。

・タクソノミースラッグ:このタクソノミーをWordpress内で利用するときに使う名前です。具体的に言うと、PHPでこのタクソノミーの名前や記事一覧を表示するときや、タクソノミーページのURLに使われます。

・複数形のラベル:タクソノミーの表示名です。

・利用する投稿タイプ:どの投稿タイプで利用するかを選択します。通常は「投稿」で良いと思います。今回の記事では触れませんが、「カスタム投稿タイプ」と合わせて使う場合はここで選択して下さい。

追加ラベルには何も書かなくてもOKです。

設定欄にある階層をTrueにすると、階層式のタクソノミー(カテゴリー風)となります。
Falseにすると、非階層式タクソノミー(タグ風)となります。

記入・設定をしたら、[タクソノミーを保存]をクリックします。
これでカスタムタクソノミーの作成は完了です。

タームの作り方

カスタムタクソノミーを作成すると、Wordpress管理画面左側の[投稿]メニュー内に、「カテゴリー」、「タグ」と並んでカスタムタクソノミーが表示されます。

【デフォルト】

【カスタムタクソノミー(地域)を追加した場合】

「地域」をクリックすると、カスタムタクソノミー(地域)のタームを追加するページが表示されます。

階層をTrueに設定したので、親タームを選択する項目も表示されています。

画面右側で、追加したタームを確認することができます。
通常のカテゴリーと操作は同じです。

使い方

サイドバーに表示する

タクソノミー(地域)をサイドバーに表示します。

プラグインなしでもできますが、「List Custom Taxonomy Widget」というプラグインを使うと簡単です。

List Custom Taxonomy Widgetは、任意のタクソノミーのターム一覧をウィジェットに表示することができるプラグインです。

List Custom Taxonomy Widgetをインストールし、[外観]ー[ウィジェット]でウィジェット設定画面に進み、サイドバーにList Custom Taxonomy Widgetを追加します。

・Select Taxonomy:どのタクソノミーを表示するのか

・Show Post Counts:ターム名の後に投稿数を表示するかどうか

・Show Hierarchy:階層表示するかどうか

・Show Empty Terms:空(投稿数0)のタームを表示するかどうか

・Order By:表示順

・Exclude:除外するタームを設定

・Only Show Children of:特定のタームの子タームのみ表示

・Display as Dropdown:ドロップダウン表示するかどうか

実際にサイドバーに表示した「地域」が↓こちらです。
実物はメインブログを確認して下さい。

国旗を表示する方法はこちら→国別カテゴリーに国旗アイコンを表示する方法

記事ページに表示する

僕が使っているWordpressテーマSimplicityでは、記事ページのタイトル下にカテゴリーが表示されます。

ここにカスタムタクソノミー(地域)を表示する方法を説明します。

Simplicityでは、この部分は「category-link.php」というテーマファイルに記述されています。

親テーマの「category-link.php」をコピーして、内容を編集します。

<?php //インデックスページや投稿ページで表示されるカテゴリーリンク
if ( is_category_visible() && //カテゴリを表示する場合
 get_the_category() ): //投稿ページの場合?>
<span class="category"><span class="fa fa-folder fa-fw"></span><?php the_category('<span class="category-separator">, </span>') ?></span>
<?php endif; //is_category_visible?>

この下に、以下の記述を追記します。

<!--タクソノミー表示//////////////////////////////////////-->
<span class="category">
<?php echo get_the_term_list($post->ID, region, '<br><span class="fa fa-globe fa-fw"></span>:', ' , '); ?>
</span>
<br>
<!--タクソノミー表示//////////////////////////////////////-->

見た目がカテゴリーとおなじになるように、class=”category”を指定しています。

<span class=”fa fa-globe fa-fw”></span>はFontAwesomeのアイコン()なので、適当に変えて下さい。

編集が終わったら、FTPクライアントソフトなどでサーバーにアップロードして下さい。

さいごに

タクソノミーの概念は難しくて、僕も最初はあまり理解できませんでした。
今もきちんと理解できているのか、正しい使い方をしているのか分かりませんが、出来る限り分かりやすくまとめたつもりです。

同じように難しいと感じている方の参考になれば幸いです。

Comments

タイトルとURLをコピーしました