【WordPress】投稿についているカスタムタクソノミーを取得・表示する方法

【WordPress】投稿についているカスタムタクソノミーを取得・表示する方法

2018.10.19

投稿に設定したカスタムタクソノミーをページに取得・表示する方法のメモです。

the_termsget_the_termsを使います。

投稿についているカスタムタクソノミーを取得・表示

カスタムタクソノミーを表示する

投稿についているカスタムタクソノミーの表示はthe_termsを使います。

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/the_terms

サンプルはこちら▼

<?php the_terms( get_the_ID(), 'tax', 'てすとたくそのみー: ', ', ' ); ?>
the_termsでカスタムタクソノミーを表示した例
  • 引数 1 : 投稿ID
  • 引数 2 : カスタムタクソノミー名(スラッグ)
  • 引数 3 : カスタムタクソノミー一覧の手前に表示する文字
  • 引数 4 : カスタムタクソノミー一覧の区切り文字
  • 引数 5 : カスタムタクソノミー一覧の後に表示する文字

イメージ的にはカテゴリーを表示するthe_categoryに似ています。

カスタムタクソノミーを取得する

投稿についているカスタムタクソノミーの取得はget_the_termsを使います。

https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_the_terms

サンプルはこちら▼

<?php
$terms = get_the_terms( get_the_ID(), 'tax' );
if ( false !== $terms && ! is_wp_error( $terms ) ) {
        foreach( $terms as $term ) {
            echo '<a href="' . get_term_link( $term->term_id, 'tax' ) . '">' . $term->name . '</a>';
        }
}
?>

the_termsと違い引数は2つです。

  • 引数 1 : 投稿ID
  • 引数 2 : カスタムタクソノミー名(スラッグ)

戻り値はタームのオブジェクトの配列になるので、エラーなどが返ってきていないか確認してforeachなどで各要素を展開します。

先頭のタームだけ取得できればいいときは$terms[0]のようにすればOKでしょう。

時々しか使わないので忘れがちなカスタムタクソノミーの取得・表示方法についてのメモでした。

ではまた。