wp_list_categories()

wp_list_categories( パラメータ )

wp_list_categories()はカテゴリーのリストをリンク付で表示させます。リンクをクリックするとそのカテゴリーに属する投稿を表示させることが出来ます。サイドバーやフッターのナビゲーションで使うことが多いです。その他トップページや固定ページのテンプレートでも使ったりします。

目次

記述方法

<?php wp_list_categories( $args ); ?>

パラメータ

show_option_all

文字列を設定すると、全てのカテゴリーの記事を表示するページ、つまりトップページへのリンクを、カテゴリーリストの先頭に表示します。リンクテキストはこのパラメータで指定した文字列になります。デフォルトは非表示です。

<?php wp_list_categories('show_option_all=トップページ'); ?>

orderby

カテゴリーのリストのソート(並び順)。デフォルトではカテゴリー名でソートします。

  • name – カテゴリー名のアルファベット順(初期値)
  • ID – カテゴリーID
  • slug – カテゴリースラッグ
  • count – カテゴリーの投稿数
  • term_group – タームグループ
<?php wp_list_categories('orderby=ID'); ?>

order

カテゴリーのソート順(並び順)。

  • ASC – 昇順(初期値)
  • DESC – 降順
<?php wp_list_categories('orderby=ID&order=DESC'); ?>

show_count

各カテゴリーに属する投稿数を表示させるかどうか。初期値は非表示。

  • 1 (true) – 表示
  • 0 (false) – 非表示(初期値)
<?php wp_list_categories('orderby=ID&show_count=1'); ?>

hide_empty

投稿のないカテゴリーも表示させるか否か。

  • 1 (true) – 空カテゴリーを隠す(初期値)
  • 0 (false) – 全て表示
<?php wp_list_categories('orderby=ID&hide_empty=0'); ?>

child_of

このパラメーターで指定したカテゴリーIDの子カテゴリーのみ表示します。初期値なし。このパラメータを使うと、hide_empty パラメータに false がセットされます。

<?php wp_list_categories('orderby=ID&child_of=5'); ?>

exclude

指定したカテゴリー(複数選択可)を表示させないようにする。表示させないカテゴリーID をカンマ区切りで昇順に指定する。child_of パラメータは自動的に無効となります。

<?php wp_list_categories('exclude=1,4'); ?>

exclude_tree

結果から除外するカテゴリーツリー。

include

指定したカテゴリーIDのみを表示させる。複数指定可能。カンマ区切りで昇順に指定する。

<?php wp_list_categories('include=4,5'); ?>

hierarchical

子カテゴリーを親カテゴリーに属するツリー表示にするかどうか。初期値はツリー表示にさせる。

  • 1 (true) – ツリー表示(初期値)
  • 0 (false) – 親子同レベル
<?php wp_list_categories('hierarchical=0'); ?>

title_li

カテゴリーリストの外側に表示するタイトルと表示形式。デフォルトは “_Categories”。このパラメータを中味を空で指定すると、カテゴリーリストの外側には何も表示しません。

<?php wp_list_categories('title_li=<h2>これがカテゴリーだ</h2>'); ?>

number

表示するカテゴリー数を設定します。初期値は無制限。

<?php wp_list_categories('number=5'); ?>

echo

結果(カテゴリーのリスト)を表示するか、変数等へ値を返すか。

  • 1 (true) – 表示(初期値)
  • 0 (false) – 値を返す
<?php
$parentheses = wp_list_categories('echo=0&show_count=1&pad_counts=0');
$parentheses = str_replace(array('(',')'), array('[',']'), $parentheses);
echo $parentheses;
?>

上記記述でカテゴリーリストに投稿数を表示させて、「 ( , ) 」を「 [ , ] 」に変更させる。「$parentheses」は変数なのでどのような文字列でもOK。

depth

カテゴリー階層のどのレベルまでをカテゴリーリストに表示させるかを指定します。初期値は「0」で全親子カテゴリーを出力します。

  • 0 – 全ての親子カテゴリーを出力 (初期値)
  • -1 – 全てのカテゴリーをフラット(インデントなし)形式で出力(hierarchical パラメータより優先)
  • 1 – 最上位カテゴリーのみ出力
  • n – n(数値)階層目までを出力。’2′ と指定すれば、最上位とすぐ下の子カテゴリーまでを出力。
<?php wp_list_categories('depth=2'); ?>

current_category

ある投稿を表示させているときに属するカテゴリーに「current-cat」と言うクラスや親カテゴリーには「current-cat-parent」と言うクラスをつける。メニューのハイライト表示に使える。

<?php
$catid = get_the_category();
$myCat = $catid[0]->cat_ID;
wp_list_categories('current_category='.$myCat);
?>

pad_counts

子カテゴリーの投稿数を含めて親カテゴリーの投稿数を計算するかどうか。

  • 1 (true)
  • 0 (false) – 初期値
<?php wp_list_categories('show_count=1&pad_counts=0'); ?>

taxonomy

返す分類名。

  • category – デフォルト
  • taxonomy – または登録されたタクソノミーのいずれか

walker

リストをレンダリングする Walker クラス。

  • object – Walker_Category または Walker を拡張する Class インスタンス

カテゴリーリストのマークアップ

<?php wp_list_categories(); ?>とだけ書くと、生成されるコードは次のようになります。

<li class="categories">カテゴリー
  <ul>
    <li class="cat-item cat-item-ID"><a href="http://~/" title="カテゴリー概要">カテゴリー名</a></li>
    <li class="cat-item cat-item-ID"><a href="http://~/" title="カテゴリー概要">カテゴリー名</a>
      <ul class="children">
        <li class="cat-item cat-item-ID"><a href="http://~/" title="カテゴリー概要">子カテゴリー名</a></li>
        <li class="cat-item cat-item-ID"><a href="http://~/" title="カテゴリー概要">子カテゴリー名</a></li>
      </ul>
    </li>
    <li class="cat-item cat-item-ID"><a href="http://~/" title="カテゴリー概要">カテゴリー名</a></li>
  </ul>
</li>

カテゴリー一覧を表示しているときには、そのカテゴリーにのみ「current-cat」というクラスがつきます。

...
<li class="cat-item cat-item-ID">(その他のカテゴリー)</li>
<li class="cat-item cat-item-ID current-cat">(現在表示しているカテゴリーアーカイブのカテゴリー)</li>
<li class="cat-item cat-item-ID">(その他のカテゴリー)</li>
...
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

初めてホームページを作成したのは1996年。
2000年よりフリーランスで主に中小企業、学校、各種公的団体、個人事業主のWordPressを活用したホームページ制作を行っています。WordPressテーマはそれぞれのクライアントに合わせて作成しています。
WordPressを活用したサイト運営のための情報発信をしていきます。

目次