タームの取得・出力方法まとめ【WordPress】

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

TOPへ