【WordPress】カテゴリーやタグの一覧を取得して表示する

迷える黒猫くん
迷える黒猫くん

サイドバーなどにあるカテゴリーやタグの一覧の表示方法を知りたいニャ

ブログのサイドバーなどでカテゴリーやタグを一覧表示したい時があると思います。
例えば以下のようなケースです。

何通りかやり方があるので解説していきます。

カテゴリー一覧

wp_list_categories()

カテゴリーの一覧を表示するには情報を取得してリンク付きのlistタグで吐き出す「wp_list_categories()」を使えば非常に簡単です。

<ul>
  <?php wp_list_categories('show_count=1&title_li='); ?>
</ul>

たったこれだけの記述で

<ul>
    <li class="cat-item cat-item-(タームID)"><a href="(タームのリンク先)">ターム名</a> (タームの投稿数)</li>
  ・・・
</ul>

このような形でユニークなクラスを持ったリンク付きのリストタグを吐き出してくれます。
ちなみに先ほどの記述は引数のパラメータがややわかりにくいので、引数を「$args」として以下のように記述することも可能です。

<ul>
  <?php  
	  $args = array(
          'show_count' => 1, // 各カテゴリーに投稿数を表示するかどうか。初期値は 0で非表示。1で表示。
	      'title_li' => '', // 箇条書きの外側に表示するタイトルと表示形式。空文字を指定すると何も表示しない。
	  );
	  wp_list_categories($args); 
  ?>
</ul>

get_categories()

また、カテゴリーの一覧情報を取得してそれを細かくカスタマイズしたい時には「get_categories()」が使えます。

<ul>
  <?php
  $categories = get_categories();
  foreach ($categories as $category) {
      echo '<li class="cat-item cat-item-' . $category->term_id . '"><a href="' . get_category_link($category) . '">' . $category->name . '</a> (' . $category->count . ')</li>';
  }
  ?>
</ul>

上の「wp_list_categories()」に合わせて全く同じ内容が吐き出されるようにしていますが、これならecho~の書き方次第で自由にカスタマイズが可能です。

タグ一覧

wp_list_categories()

カテゴリーの一覧でも使用した「wp_list_categories()」がタグでも使えます。

<ul>
  <?php wp_list_categories('taxonomy=post_tag&title_li='); ?>
</ul>

見やすいように配列に書き直すとこちら

<ul>
  <?php  
	  $args = array(
          'taxonomy' => 'post_tag', // タグのターム情報を取得。
	      'title_li' => '', // 箇条書きの外側に表示するタイトルと表示形式。空文字を指定すると何も表示しない。
	  );
	  wp_list_categories($args); 
  ?>
</ul>

get_tags()

また、タグ情報の出力を細かくカスタマイズしたい場合は「get_tags()」が使えます。

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

こちらも出力はリンク付きのリストタグで行っていますが、echo~を書き換えることで自由にカスタマイズ可能です。

カスタムタクソノミーの一覧を取得するやり方は次の記事で紹介しています!

コメント

タイトルとURLをコピーしました