【WordPress】カスタムタクソノミーで独自のカテゴリーやタグを作成する

WordPress
WordPress
この記事は約7分で読めます。

おはようございます!

 

6月20日、木曜日。薄曇りの晴れ。

最高気温30℃(東京)。

 

今日もやってまいります。

 

本日の教材もこちら!




よしやっていこう!

 

CHAPTER5 投稿タイプ・フィールド・タクソノミーをカスタマイズする

 

SECTION03 カスタムタクソノミーで独自のカテゴリーやタグを作成する

 

カスタムタクソノミー(カスタム分類)とは

「カテゴリー」と「タグ」を使用して分類できるが、これをWordPressでは「タクソノミー」と呼ぶ。

→「カテゴリー」と「タグ」以外にも作成可能

「カスタムタクソノミー(カスタム分類)」という

 

Custom Post Type UIでカスタムタクソノミーを作成する

カスタムタクソノミーを作成するには、

  1. functions.phpに記述する方法
  2. プラグインを使う方法

の2種類がある。

 

ここでは「Custom Post Type UI」プラグインを利用する。

 

・カスタムタクソノミーを作成する

粛々と設定していき、[タクソノミーを追加]ボタン押下で作成。

 

・表示を確認する

「フード」の中に「メニュー」が表示されるようになる。

 

・ここで入力する内容

名前   スラッグ

お食事  meal

ドリンク drink

 

 

前のセクションで投稿した「タコス」を「メニュー=お食事」で更新する。

 

実装すると、

 

よっしゃー

 



カスタムタクソノミーを表示する

・カスタムタクソノミーのテンプレート階層

優先順位 テンプレートファイル名       

1    taxonomy-{taxonomy}-{term}.php

2    taxonomy-{taxonomy}.php

3    taxonomy.php

4    archive.php

5    index.php

※例:タクソノミー名が”menu”、スラッグが”drink”の場合、

taxonomy-menu-drink.php(優先順位1のテンプレートファイル名)

 

学習用素材の「foodーmenu.html」を確認。

 

「foodーmenu.html」を「taxonomy.php」にリネームし、修正してアップロード。

<WordPress関数>

single_term_title() :現在のページのタームタイトルを表示、または取得。
※ヘッダー部分とフッター部分の削除を忘れない。

タームタイトル横には「MEAL」が直書きのため、これではドリンクページを開いたときも「MEAL」と表示されてしまうので工夫が必要。

<WordPress関数>

get_query_var():グローバル$wp_queryのパブリック・クエリ変数を取得
get_term_by() :ID、名前、スラッグを指定してカテゴリー・タグなどのターム情報を取得

※get_term_by()は再掲

 

<taxonomy.phpを修正>

※記述ミスあり ×「:」→ 〇「;」

 

実装!

 

おおー!

 

って、、ん?

 

「フード」の「メニュー」に「お食事」と「ドリンク」を設定した後に確認した状態とどう違うんだろ。。。

 

 

・・

 

・・・わかった。なるほどね~。

 

最初にアクセスしたURLは、

https://noplog.com/food/

で2回目のアクセスしたURLも

https://noplog.com/food/

で、

つまり変化してない同じものを見てたんですね。。

これは何が表示されているかというと、

前回アップロードした「archive-food.php」

が表示されていたんですね。。。

 

今回確認すべきURLは、

https://noplog.com/menu/meal/

 

 

おっけーい

※記述ミスも一つ発見できました。。

 



 

フード紹介ページを調整する

下記URLのフード紹介ページには、フードの一覧が表示されているが、どのフードがお食事かドリンクかわからないので、整理されたページにする。

https://noplog.com/food/

 

学習用素材の写真素材を使用し、タコスのほかにも登録しておく。

おけ。

で、

 

おや~。タコスがない。。

しかも全部オススメになっちゃってる。。。

う~ん、一旦このまま進めます。

 

・種類ごとにブロックを分ける

「お食事」と「ドリンク」の種類ごとにブロックを分けて表示する。

 

<WordPress関数>

get_terms() :条件を指定してタクソノミー情報を配列で取得する

 

<archiveーfood.phpを修正>

 

さらに、「お食事」や「ドリンク」のテキストの箇所に、「taxonomy.php」へのリンクを設定する。

 

<WordPress関数>(再掲)

get_term_link() :カテゴリーなどのタームページのリンクを取得する

 

<archiveーfood.phpを修正>

 

最後に、WordPressループの箇所を修正する。

WP_Queryを使って、foreach中のタクソノミーとスラッグを指定する。

 

<archiveーfood.phpを修正>

 

実装!

 

2歩前進!

フードの種類ごとに表示されるようになった!

そしてタコスが表示されるようになりました!

 

でも、相変わらず「オススメ」がすべてに表示されちゃってる。。。

 

詳細をみると、「フード」で設定した「タコス」と「クラフトビール」だけに「オススメ」がありました。

<実装の詳細画面>

 

<「フード」の設定画面>

 

なるほど、設定画面が反映されてるはされてるので、

つまりは、アップロードしたファイルのどこかですべての商品を「オススメ」設定しちゃってるってことですね。

 

一旦、次いきます。

 



 

グローバルメニューを修正する

最後に、グローバルメニューからも「フード」にアクセスできるようにリンク修正する。

・ここで設定する内容

項目     内容           

URL     https://noplog.com/food/

リンク文字列 フード

 

設定!

 

実装!(「コンセプト」の次に表示させるようにしました)

 

おっけーい!

よし!

 

今日は以上で!

 

すべてオススメになっちゃってるのはまた明日だ!!

 

おわり!!疲れた!!

 

 



コメント

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