投稿に紐づいているターム情報を取得します。
get_terms($post,$taxonomy);| 引数 | 必須/任意 | 引数に指定するもの |
|---|---|---|
| 第1引数 $post | 必須 | 投稿のID / オブジェクト |
| 第2引数 $taxonomy | 必須 | タクソノミー名 (文字列) |
戻り値(返す値):条件にマッチしたタームオブジェクトの配列
取得したタームオブジェクトを配列として返します。foreachでループを回して配列から1つ1つ要素(タームのオブジェクト)を取り出してタームの名前を取得したりすることができます。
このオブジェクトが持つ主なプロパティ(中身)は以下の通りです。
term_id カテゴリーのIDname カテゴリーの名前slug カテゴリーのスラッグtaxonomy 所属するタクソノミーの名前(= category)description カテゴリーの説明文(管理画面からカテゴリーを追加する際の「説明」欄)count カテゴリーに所属する記事数
下記の例では、IDが50の投稿に紐づいている、タクソノミー「example-category」のターム名を一覧で出力しています。
<?php
$terms = get_the_terms(50, 'example-category');
foreach ($terms as $term) {
echo $term->name;
}
?>【引数とは】
テンプレートタグ(=関数)を実行する際に、引数を渡すことができるテンプレートタグがあります。引数は、関数の中で使われるので、渡す引数の値によって実行結果が変わってきます。何を処理したいのか、どのようなデータを取得したいのかによって渡す引数が変わります。
【引数について】
記事個別ページ(single.php)で投稿が所属するターム情報を表示するときや、記事一覧ページ(archive.phpやcategory.phpなど)において、各記事の日付やタイトルと同時にタームも表示するときなどに使うことが多いです。具体的なコードは下記「参考コード」を参考にしてください。
下記の例は、single.phpにて記事情報を表示する際に使える参考コードです。公開日の下に記事が所属するターム情報(タクソノミーが「example-category」であるもの)が表示されます。
<div class="article">
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div class="article__date">公開日:<?php echo get_the_date('') ?></div>
<?php
$terms = get_the_terms($post, 'example-category');
if (!empty($terms) && !is_wp_error($terms)) {
echo '<div class="article__terms">';
foreach ($terms as $term) {
echo '<span>' . $term->name . '</span>';
}
echo '</div>';
}
?>
<div class="article__heading"><?php the_title() ?></div>
<div class="article__content"><?php the_content(); ?></div>
<?php endwhile; ?>
<?php endif; ?>
</div>※当サイトでは初期値とデフォルト値の言葉の定義を区別せず、原則統一して初期値を採用しています。