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