WordPressでタグの名前・ID・スラッグ・URL・説明文を取得する方法

WordPressでタグの名前・ID・スラッグ・URL・説明文を取得する方法
関連キーワード
WordPress

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なども取得できます。

下記の記事にまとめてありますので、タグではなくカテゴリーで同じように実装したいという場合にはご活用ください。

WordPressのループ外でカテゴリー名・カテゴリーID・カテゴリーのURL・スラッグを取得する方法
WordPressのループ外でカテゴリー名・カテゴリーID・カテゴリーのURL・スラッグを取得する方法
続きを読む

最後に

テーマのカスタマイズを進めていく際に、例えばタグの一覧を作りたいときには今回のコードが役に立つと思います。

タグクラウドなどを使う方法もあるんですが、今回紹介した方法だと手軽に使えてHTMLのマークアップの自由度も高いのでおすすめですよ。