
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