WordPressのカスタム投稿でのカテゴリーことカスタムタクソノミー。index.phpやsingle-カスタム投稿名.phpといったファイルでカスタムタクソノミーのターム名を表示させたい場合が出てくることがあります。そこで今回はカスタム投稿のターム名の表示方法をご紹介したいと思います!
カスタム投稿のタームとは?
そもそもタームというのは、カスタムタクソノミー内のより細かく細分化したものになります。例えば【投稿】で“本”というカテゴリーがあるとします。階層としては
投稿 → カテゴリー → 本
となりますよね。
そこで【商品】というカスタム投稿を追加し、【種類】というカスタムタクソノミーを設定してそのさらに下に“本”というタームを設定した場合、
商品 → 種類 → 本
という階層になります。
つまりは
投稿 = 商品
カテゴリー = 種類
本 = 本
がそれぞれ対応している、ということですね。
そのため、投稿でいうカテゴリー名を表示したい、というのはカスタム投稿でいうところのターム名を表示したい、ということになります。
ターム名をリンク付きで表示する方法は?
それでは本題に入りたいと思います。カスタム投稿のターム名をリンク付きで表示させたい場合は、以下のコードをターム名を表示させたいところに記述します。
<?php echo get_the_term_list($post->ID,'タクソノミー名'); ?>
試しに“book”というカスタムタクソノミーを設定した場合は、
<?php echo get_the_term_list($post->ID,'book'); ?>
と記述することでbookというタクソノミーのターム名を表示してくれます!
リンクなしでターム名を表示する方法は?
続いて、リンクなしでターム名を表示させるには以下のコードを記述します。
<?php if($terms = get_the_terms($post->ID,'タクソノミー名')){ foreach($terms as $term){ echo esc_html($term->name) ; } } ?>
上と同じく“book”というカスタムタクソノミーを設定した場合は、
<?php if($terms = get_the_terms($post->ID,'book')){ foreach($terms as $term){ echo esc_html($term->name) ; } } ?>
と記述することでbookというタクソノミーのターム名をリンクなしで表示してくれます!
まとめ
以上がカスタム投稿のターム名の表示方法になります!ターム名を表示させたい!という場面は出てくると思いますので、是非ともご活用ください!