
WordPressのカテゴリーやタグ、カスタムタクソノミーの中に作られた分類項目をタームと言います。そのターム取得・出力方法メモです。
【分類についての詳細はこちら】WordPressの分類タイプの違いと使い分け方【カテゴリー・タグ・タクソノミー・ターム】
投稿に登録しているタームをリンク付きで表示させる
カテゴリーやタグのリンクリストのように、登録されているタームを一覧で表示させる場合のサンプルコードです。
<?php
$taxonomy = "test-tax";
$terms = get_terms($taxonomy);
foreach($terms as $term):
$term_name = $term->name;
$term_link = esc_url(get_term_link($term));
?>
<p><a href="<?php echo $term_link; ?>"><?php echo $term_name; ?></a></p>
<?php endforeach; ?>get_terms() には取得したいタクソノミーを指定します。ここに指定したタクソノミーに属するタームの情報が取得できます。
そこからさらに必要な情報を絞り込んでいきます。ここでは$term->name でターム名を、get_term_link() を使ってターム一覧へのリンクを取得しています。
タームの情報は var_dump($term); で確認できます。
記事についているタームを取得・出力
the_terms
the_terms() はその記事に付いているタームをリンク付きで取得・出力する関数です。投稿IDとタクソノミー名を指定します。
<?php the_terms($post->ID,'test-tax', ); ?>最低限必要なのは投稿のIDとタクソノミー名ですが、タームリストの最初、タームとタームの間のテキスト、タームリストの最後に表示される内容を指定することもできます。
<?php the_terms($post->ID,'test-tax', 'タームリストの最初|| ', ' / ', ' ||タームリストの最後'); ?>get_the_term_list
get_the_term_list() は指定したタクソノミーのターム情報を取得し、出力した際にリンクも付きます。
<p><?php echo get_the_term_list($post->ID, 'test-tax'); ?></p>get_the_terms
get_the_terms() は指定したタクソノミーのターム情報の取得のみを行います。the_terms() や get_the_term_list() のようにリンク付きで表示することもできます。
<?php
$terms = get_the_terms($post->ID, 'test-tax');
foreach( $terms as $term ):
$term_name = $term->name;
$term_link = esc_url(get_term_link($term));
?>
<p><a href="<?php echo $term_link; ?>"><?php echo $term_name; ?></a></p>
<?php endforeach; ?>カテゴリー : WordPress





