WordPress – タグ一覧をURL付きで表示

タグ一覧をURL付きで表示させる場合get_tags()をforeach文で出力しget_tag_link()term_idを渡してあげるとURLが取得できます。

サンプルコード

<?php
	$tags = get_tags();
	foreach($tags as $tag){
		echo '<li><a href="' . get_tag_link($tag->term_id) . '">' . $tag->name . '</a></li>';
	}
?>

get_tags – 配列を展開

get_tags()を展開すると下記のようになっています。URLを取得するにはget_tag_link()term_idを渡してあげることでそのタグ一覧ページのURLを取得することができます。

array(5) {
  [0]=>
  object(WP_Term)#4247 (10) {
    ["term_id"]=>
    int(7)
    ["name"]=>
    string(11) "Hello World"
    ["slug"]=>
    string(11) "hello-world"
    ["term_group"]=>
    int(0)
    ["term_taxonomy_id"]=>
    int(7)
    ["taxonomy"]=>
    string(8) "post_tag"
    ["description"]=>
    string(0) ""
    ["parent"]=>
    int(0)
    ["count"]=>
    int(1)
    ["filter"]=>
    string(3) "raw"
  }
.......(省略)

タグ一覧ページ(URL)について

タグ一覧ページのURLは初期設定だとないので、固定ページ(page-tags.php)などをうまく使って作成するしかありません。ただそれぞれのタグの記事一覧ページはtag.phpをテンプレート階層に置くことで先ほど作成したURLからアクセスすると各タグ一覧ページが表示されるかと思います。

基本的に各タグの一覧ページのURLは次のようになっています。

http://localhost/wordpress/tag/blog/