こんにちは。今回はカスタム投稿で一緒に使うカスタムタクソノミーの出し方を解説します。
通常の投稿でだすカテゴリーと違って少し工夫が必要になります。
順を追って説明しますね。
目次
カスタムタクソノミーとターム名
完成コードだけ欲しい方はこちら
標準の投稿機能には「カテゴリー」と「タグ」が標準でついています。
ですが、カスタム投稿に標準ではありません。
カテゴリーとタグを任意で作成するのがカスタムタクソノミーです!
そしてカテゴリー名やタグ名がターム名となります。
を表示させたいときは、配列(array)に格納されているためターム名を取り出すために
foreach構文を使用して表示させる方法を紹介します。
完成はこちら
<?php
$terms = get_the_terms($post->ID , 'area');
foreach ($terms as $term_name):
echo $term_name -> name;
endforeach;
?>
ループ内に上記の構文を記述するとターム名が表示されます。
$termsに表示されている記事のIDとタクソノミーのスラッグを入れてください。
get_the_termsの引数にある’area’は任意のカスタムタクソノミーのスラッグを入れてください。
配列(Array)なのでechoでターム名は出ない
<?php
$terms = get_the_terms($post->ID, 'area');
echo $terms;
?>
こちらでechoすればターム名がでるかと私も最初はそう思い全然でなくて3日間悩みました・・・。
実際にechoしてみましょう。
Araayとなります。
これは配列の中にありますので「echo」だけでは配列は出すことができません。
次は「print_r」でだします。
<?php
$terms = get_the_terms($post->ID, 'area');
print_r($terms);
?>
WP_Term Objectというオブジェクトがあります。
その中の[name]にターム名(今回でいうと東京)が格納されています。
これをだすためにforeach構文で表示できる様になっています。
ですので最初の完成系コードをコピペして使用してください!
以上です。ありがとうございました。