WordPress

WordPress 投稿に紐づくターム一覧の表示方法

WordPress 投稿に紐づくターム一覧の表示方法

WordPress で投稿に紐づくタクソノミーのタームの一覧を表示する方法を紹介します。
例えば、投稿に投稿に紐づくカテゴリ(ターム)一覧を表示したい時に便利な方法です。

  1. 投稿に紐づくターム一覧の表示方法

投稿に紐づくターム一覧の表示方法

投稿に紐づくタームの一覧を表示する場合は wp_get_object_terms を使用します。
例えば、タクソノミースラッグが product-cat の場合に、投稿に紐づくタームの一覧を表示するには、次のコードを投稿のループ内に追加します。

<?php // 投稿に紐づくタームの一覧を表示
$taxonomy_slug = 'product-cat'; // 任意のタクソノミースラッグを指定
$category_terms = wp_get_object_terms($post->ID, $taxonomy_slug); // タームの情報を取得
if(!empty($category_terms)){ // 変数が空でなければ true
if(!is_wp_error($category_terms)){ // 変数が WordPress Error でなければ true
echo '<ul>';
foreach($category_terms as $category_term){ // タームのループを開始
echo '<li><a href="'.get_term_link($category_term->slug, $taxonomy_slug).'">'.$category_term->name.'</a></li>'; // タームをリンク付きで表示
} // ループの終了
echo '</ul>';
}
}
?>

まずはじめに、product-cat を任意のタクソノミースラッグに変更してください。
基本的な調整はこれで終了です。wp_get_object_terms に post-ID が指定されているので、この投稿に紐づくタームの一覧が表示されるはずです。

ターム一覧の表示には get_terms() なども利用できますが、出力されるタグをカスタマイズする場合は、ここで紹介している wp_get_object_terms() を利用した方法がおすすめです。
get_terms() での出力に興味がある方は「WordPress で get_terms を使ったターム一覧の表示方法」をご覧ください。

まとめ

WordPress で投稿に紐づくタクソノミーのタームの一覧を表示する方法を紹介しました。
このほかに、タームのスラッグや説明文などを表示したい場合はWordPress ターム情報の取得と表示方法をご覧ください。