WordPressのタグアーカイブで、タグ名を表示するのは簡単だったのですが、URLを取得するのにちょっとはまったので、その方法を紹介します。
使用する関数一覧
- single_tag_title()
- 現在のタグアーカイブページのタグ名を表示/取得
Function Reference/single tag title « WordPress Codex - get_term_by()
- カテゴリーやタグの情報を取得する
Function Reference/get term by « WordPress Codex - get_tag_link()
- 指定したタグIDの正しいURLをPHPの値として返す
Function Reference/get tag link « WordPress Codex
タグアーカイブでURLを取得する
コード
<?php $name = single_tag_title('', false); $tag = get_term_by('name', $name, 'post_tag'); $link = get_tag_link($tag->term_id); ?>
解説
まず、single_tag_title()でタグの名前を取得します。このとき、第二パラーメータにfalseを忘れずに。忘れるとタグの名前は表示されてしまいます。
次に、get_term_by()の第一パラメータにフィールド名が名前であることを示す「name」を、第二パラメータに最初に取得したタグの名前を、そして第三パラメータにタクソノミー名がタグであることを示す「post_tag」を指定し、タグの情報を取得します。
最後に、get_tag_link()のパラメータに、取得したタグの情報からタグのIDを指定して、URLを取得します。
あとはechoするなり、なんなりご自由にどうぞ。
【おまけ】タグアーカイブでタグ名を表示/取得する方法
タグ名を表示したい箇所に、下記コードを記述すれば、タグ名が表示されます。
<?php single_tag_title(); ?>
また、タグ名を表示せずに、PHPで使用できる値として返したい場合は、第二パラメータにfalseを指定し、記述します。
<?php $cat_title = single_tag_title('', false); ?>