投稿詳細や投稿一覧ページで、投稿に設定されているタグの一覧を出力する方法をご紹介いたします。
WordPressで投稿が属するタグの一覧を表示する方法
the_tagsでタグを出力する
the_tagsという関数を使うことで、簡単にリンク付きのタグ一覧を出力できます。
<?php the_tags(); ?>
このままだと、「Tags: WordPress, Computers, Blogging」というように、先頭にTags:という文字付き、かつカンマ区切りでタグ一覧が出力されます。
例えば、ulリストでタグの一覧を出力したい場合は、以下のようにすれば実現できます。
<?php the_tags( '<ul><li>', '</li><li>', '</li></ul>' ); ?>
出力されるHTMLは以下のようになります。
<ul>
<li><a href="https://example.com/tag/wordpress/">WordPress</a></li>
<li><a href="https://example.com/tag/computers/">Computers</a></li>
<li><a href="https://example.com/tag/blogging/">Blogging</a></li>
</ul>
get_the_tagsでタグを出力する
タグアーカイブへのリンクを付けたくないとか、もっと細かく出力を調整したい場合は、get_the_tags関数を使います。
例えば、上述したようなulリストで出力したい場合は、以下のように記述します。
<?php
$posttags = get_the_tags();
if ( $posttags ) {
echo '<ul>';
foreach ( $posttags as $tag ) {
echo '<li class="'.$tag->slug.'"><a href="'.get_tag_link($tag->term_id).'">'.$tag->name.'</a></li>';
}
echo '</ul>';
}
?>
get_the_tagsでタグオブジェクトの配列を取得して、foreachでループさせてリンク付きのタグ一覧を出力しています。
出力されるHTMLは以下のようになります。
<ul>
<li class="wordpress"><a href="https://example.com/tag/wordpress/">WordPress</a></li>
<li class="computers"><a href="https://example.com/tag/computers/">Computers</a></li>
<li class="blogging"><a href="https://example.com/tag/blogging/">Blogging</a></li>
</ul>
なお、get_the_tagsでは以下の情報が取得されますので、それぞれループ内で出力可能です。
term_id | タグのID |
name | タグ名 |
slug | スラッグ |
description | タグの説明 |
count | タグの総使用回数 |
あとがき
個人的にはカテゴリー分けで十分なことが多いので、タグを使う運用はあまりしないのですが、タグで細かく投稿を分類したいという要望があった際には、ぜひ参考にしていただければと思います。
サイト全体で登録されているタグの一覧を表示したい時は、「WordPressに登録されているタグの一覧をリスト表示させる方法」をご参照ください。