/
カテゴリーの情報を一覧で取得して「リンク と HTMLタグ 付き」で出力。何階層目まで出力するかも指定できる、カテゴリー一覧用のWordpressテンプレートタグ。
パラメータで細かく条件設定でき、簡単にリンク付きカテゴリー一覧を作成できる優れもの。
階層の出力方法も指定もできるので、面倒なテンプレートタグの入れ子をする必要もありません。
taxonomyに「post_tag、タクソノミーslug」を指定することで、タグやカスタムタクソノミーの一覧にも使用できます。
wp_list_categories 呼び出しコード
呼び出しコード | 説明 |
---|---|
<?php wp_list_categories(); ?> | パラメータなし |
<?php wp_list_categories('depth=0&title_li ='); ?> | 直接指定 = パラメータが少ない場合など |
<?php | 引数を代入 = パラメータが多い場合など |
wp_list_categories() パラメータ
パラメータ | 初期値 | 設定できる値 | 説明 |
---|---|---|---|
taxonomy | category | post_tag、タクソノミーslug | タクソノミーを指定 |
show_option_all | ” | トップページリンク用テキスト | 記載時、トップページリンクを表示 |
show_option_none | ” | 代替テキスト | 記載時、カテゴリーがない場合の代替テキストを表示 |
use_desc_for_title | 1 | 1(カテゴリー説明)、0(カテゴリー名) | title属性に設定 |
show_last_update | 0 | 1(表示)、0(表示しない) | 最終更新日 |
show_count | 0 | 1(表示)、0(表示しない) | 投稿数 |
hide_empty | 1 | 1 (表示しない)、0 (表示) | 投稿のないカテゴリー |
hierarchical | 1 | 1 (含める)、0 (含めない) | 「空の親カテの子カテに投稿がある」場合、 親カテを含める |
pad_counts | 0 | 1(計算する)、0(計算しない) | 子カテゴリーを含めて投稿数を計算 |
depth | 0 | 0、-1、1、n | 取得階層 0 = 全て (ul, li 階層あり)-1 = 全て (ul, li 階層なし) 1 = 最上位階層のみ (ul, li) n = 最上位階層からn階層まで (ul, li 階層あり) |
title_li | カテゴリー | ”、 タイトル文字列 | 'title_li'=>'' を指定推奨 |
hide_title_if_empty | 0 | 1(表示)、0(表示しない) | 空のタイトル'title_li'=>'' を指定しない場合のみ |
echo | 1 | 1(表示)、0(値を返す) | 変数として利用する場合は 0 |
style | list | list(ul, li)、none(aタグ並列) | 出力形式 |
separator | <br /> | 区切り文字列 | 'style'=>'none' を指定した場合のみ |
orderby | name | count、name、slug、id 等 | ソート対象 |
order | ASC | ASC(昇順)、DESC(降順) | ソート順 |
number | ” | 取得件数 | 省略時は条件に一致するすべてを取得 |
include | ” | カテゴリーID /複数時 , 区切り | 指定カテゴリーのみ |
exclude | ” | カテゴリーID /複数時 , 区切り | 取得しないカテゴリー |
exclude_tree | ” | カテゴリーID /複数時 , 区切り | 取得しないカテゴリー(子孫カテゴリー含む) |
child_of | 0 | カテゴリーID | 指定カテゴリーの子孫カテゴリーを取得 |
current_category | 0 | カテゴリーID 各ページに対応させるには ID用の変数を設定する必要がある | 対象は投稿ページのみ ・投稿に含まれるカテゴリー[0] に current-cat ・親カテゴリーに current-cat-parent という class を付与 |
wp_list_categories() の使用例
wp_list_categories() は、パラメータ指定に合わせ自動的に成形された状態で出力されます
最低限のパラメータ( 'title_li'=>''
)のみのシンプルな設定
<ul><li>
のリスト形式で出力。'title_li'=>''
を設定した場合、別途<ul></ul>
やタイトルを設置する必要があります。
アーカイブページ(カテゴリー一覧ページ等) では、そのカテゴリーに current-cat
というclass が付与されます。
PHP
<h2>カテゴリー一覧</h2>
<ul>
<?php wp_list_categories('title_li='); ?>
<ul>
/* 出力結果 */
<h2>カテゴリー一覧</h2>
<ul>
<li class="cat-item cat-item-ID current-cat"><a href="カテゴリーURL" title="カテゴリー説明">カテゴリー名</a></li>
<li class="cat-item cat-item-ID"><a href="カテゴリーURL" title="カテゴリー説明">カテゴリー名</a></li>
<li class="cat-item cat-item-ID"><a href="カテゴリーURL" title="カテゴリー説明">カテゴリー名</a>
<ul class="children">
<li class="cat-item cat-item-ID"><a href="子カテゴリーURL" title="子カテゴリー説明">子カテゴリー名</a></li>
<li class="cat-item cat-item-ID"><a href="子カテゴリーURL" title="子カテゴリー説明">子カテゴリー名</a></li>
</ul>
</li>
<li class="cat-item cat-item-ID"><a href="カテゴリーURL" title="カテゴリー説明">カテゴリー名</a></li>
</ul>
パラメータを設置しない場合
タイトルも<ul>
内に含まれ、構造上(SEO的にも)あまりお勧めできません。
PHP
/* 出力結果 */
<ul>
<li class="pagenav">カテゴリー
<ul>
<li class="cat-item cat-item-ID current-cat"><a href="カテゴリーURL" title="カテゴリー説明">カテゴリー名</a></li>
<li class="cat-item cat-item-ID"><a href="カテゴリーURL" title="カテゴリー説明">カテゴリー名</a>
<ul class="children">
<li class="cat-item cat-item-ID"><a href="子カテゴリーURL" title="子カテゴリー説明">子カテゴリー名</a></li>
<li class="cat-item cat-item-ID"><a href="子カテゴリーURL" title="子カテゴリー説明">子カテゴリー名</a></li>
</ul>
</li>
<li class="cat-item cat-item-ID"><a href="カテゴリーURL" title="カテゴリー説明">カテゴリー名</a></li>
</ul>
</li>
</ul>