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というタクソノミーのターム名をリンクなしで表示してくれます!

まとめ

 以上がカスタム投稿のターム名の表示方法になります!ターム名を表示させたい!という場面は出てくると思いますので、是非ともご活用ください!

スポンサーリンク