WordPressでタグを取得したい場合、リンク付きが都合良い場合と、リンクは付かない方が良い場合があります。
リンク付きでタグの名前を取得する方法と、リンクなしでタグの名前・ID・スラッグ・URL・説明文を取得する方法について、コピペで使えるコード付きでご紹介します。
目次
タグをリンク付きで取得する方法
タグをリンク付きで取得する場合はこちらの1行だけとシンプルです。
<?php the_tags(''); ?>
上記の書き方をすると、タグを複数つけていた場合にHTMLタグでマークアップされない状態で羅列されてしまいます。
そんな時のために、例えばリストタグでマークアップする例はこちらです。
<?php the_tags( '<ul><li>', '</li><li>', '</li></ul>' ); ?>
もちろん、divタグとspanタグという使い方も可能です。
<?php the_tags( '<div class="tag-box"><span>', '</span><span>', '</span></div>' ); ?>
タグの名前・ID・スラッグなどを個別に取得する方法
タグにはリンクを貼らずに、名前だけ取得したいときもありますよね。
そんな時のために、タグの名前を取得する方法と、名前以外に「スラッグ・ID・説明文・URL」を取得する方法についてもご紹介します。
タグの名前
タグの名前を取得したい場合はこちら。例としてpタグを入れてますが、HTMLタグを変更したい場合は書き換えてください。また、HTMLタグでマークアップしたくない場合はpタグ自体を消してしまっても大丈夫です。
<?php $tags = get_the_tags(); if ($tags) { foreach($tags as $tag) { echo '<p>' . $tag->name . '</p>'; } } ?>
タグのID
タグのIDを取得したいときはこちら。タグごとに設定を変えたい場合に、class名にIDを入力できるようにしておくと便利です。
<?php $tags = get_the_tags(); if ($tags) { foreach($tags as $tag) { echo '' . $tag->term_id . ''; } } ?>
タグのスラッグ
タグのスラッグを取得したいときはこちら。IDの時と同様に、クラス名などにスラッグを追加して使うときに活用できます。
<?php $tags = get_the_tags(); if ($tags) { foreach($tags as $tag) { echo '' . $tag->slug . ''; } } ?>
タグのURL
タグのURLを取得したい場合はこちら。リンク付きのものを紹介しましたので、そちらを使えばスマートですが、URLだけ取得したい場合にはこちらを使ってください。
<?php $tags = get_the_tags(); if ($tags) { foreach($tags as $tag) { echo get_tag_link($tag->term_id.''); } } ?>
タグの説明文
タグに説明文を設定している場合に、タグの説明文を取得したいときはこちらです。
<?php $tags = get_the_tags(); if ($tags) { foreach($tags as $tag) { echo '' . $tag->description . ''; } } ?>
カテゴリーの名前やID・スラッグなどを取得するには?
カテゴリーでも同じように、リンク付きでカテゴリー名を取得することもできますし、リンクなしのカテゴリー名だけや、カテゴリーIDなども取得できます。
下記の記事にまとめてありますので、タグではなくカテゴリーで同じように実装したいという場合にはご活用ください。
最後に
テーマのカスタマイズを進めていく際に、例えばタグの一覧を作りたいときには今回のコードが役に立つと思います。
タグクラウドなどを使う方法もあるんですが、今回紹介した方法だと手軽に使えてHTMLのマークアップの自由度も高いのでおすすめですよ。