! 各ページ右上の画像広告経由でコンピュータウィルスがダウンロードされた可能性があります。ウィルスチェックをお願いします。詳しくは http://bono.s201.xrea.com/2008/06/693-virus_by_xrea_ad/ をご覧ください。ご迷惑をおかけしてしまい大変申し訳ありません。
テンプレートタグ/wp list categories
出典: ps*wiki
このテンプレートタグ wp_list_categories は、リンク付きカテゴリリストを表示します。カテゴリリンクをクリックすると、テンプレート階層ルールに基づく適切なカテゴリテンプレート(原文)を用いたカテゴリページに、そのカテゴリに属する全ての記事が表示されます。wp_list_categories は、WordPress 2.1 で非推奨となった list_cats() および wp_list_cats() の後継で、この二つとほぼ同じように動作します。
このテンプレートタグは Wordpress 2.1 以上でのみ使えます。
<?php wp_list_categories('引数'); ?>
デフォルトでは、wp_list_categories() は、"Categories" という見出し付きで、入れ子になった番号なし箇条書きリスト(ul)を生成します。
例えば <?php wp_list_categories(); ?> とだけ書くと、生成される XHTML コードは次のようになります。
<li class="categories">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>
(注: cat-item-ID はカテゴリID の番号です。)
カテゴリリストの外側がさらに li で括られるのは、デフォルトテーマやウィジェットでは、サイドバー全体が ul の入れ子構造となっている(en)ためです。カテゴリリストや月別アーカイブのようなサイドバーの各メニューは、その中の li 要素です。
最も外側のリスト項目を外すには、title_li パラメータ を空指定します。この場合、上記コード例の先頭と末尾の各2行(<li><ul>, </ul></li>)が除かれ、中の li 要素のみが出力されるため、下記の用例のように、自分で箇条書き要素(ul または ol)で括る必要があります。箇条書きにしたくないときは、styleパラメータに none を設定します。
カテゴリアーカイブページでこのカテゴリリストが生成されたときは、そのページのカテゴリ項目にのみ current-cat という HTML クラスが付きます。(注: cat-item-ID はカテゴリID の番号です。)
... <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> ...
CSS を使って、現在のカテゴリをハイライト表示させるなどの装飾ができます。
.current-cat { ... }
$defaults = array('show_option_all' => '', 'orderby' => 'name', 'order' => 'ASC',
'show_last_update' => 0, 'style' => 'list','show_count' => 0, 'hide_empty' => 1,
'use_desc_for_title' => 1, 'child_of' => 0, 'feed' => '', 'feed_image' => '',
'exclude' => '', 'hierarchical' => true, 'title_li' => __('Categories'),
'echo' => 1,
'depth' => 0);
デフォルトでは次のように表示します。
- 全カテゴリページへのリンクなし
- リストはカテゴリ名の昇順
- (各カテゴリに属する最後に更新された記事の)最終更新日は非表示
- 番号なし箇条書きリスト形式で表示
- 投稿数は非表示
- 投稿のあるカテゴリのみ表示
- カテゴリ概要を title 属性にセット
- 子カテゴリの制限なし
- フィードへのリンクなし/リンク画像なし
- 表示カテゴリの指定/除外なし(指定しないので、上記初期値に
'include' => ''が載っていない) - カテゴリレベルをインデント表示(ネスト表示、ツリー表示)
- リストの前に、見出しとして「Category」(日本語化ファイルで定義されていればその文字列)を表示
- SQL LIMIT なし(
'number' => 0は上記初期値に載っていない) - リストを表示(バージョン 2.3 以降では、表示/値の取得を選べる)
- 表示する階層の深さ制限なし
wp_list_categories();
カテゴリをアルファベット順にソート、カテゴリID 16, 3, 9, 5 のみを表示したいときは、次のようにコードを書きます。
<?php wp_list_categories('orderby=name&include=3,5,9,16'); ?>
次の例は、カテゴリ名順にソート、各カテゴリの投稿数を表示、リストからカテゴリID 10 を除外:
<?php wp_list_categories('orderby=name&show_count=1&exclude=10'); ?>
title_li パラメータは、生成されるカテゴリリストの見出しを設定したり隠したりします。初期値は '__('Categories')'で、見出しとして "Categories"という語句(日本語化で「カテゴリ」)を表示します。
訳注: __('Categories') や __('Poetry') は、ローカライズ対応の書き方です。括弧内の文字列とその訳語が日本語化ファイルで定義されていれば、訳語に置換されて表示されます。
見出しの非表示
このパラメータに null や空の値をセットすると、見出しを表示しません。次のコードは、カテゴリID 4、7 以外を表示し、見出しを非表示とする例です。上述したように、'title_li=' 指定時は外側の ul も出力されないため、自分で ul または ol を補います。
<ul>
<?php wp_list_categories('exclude=4,7&title_li='); ?>
</ul>
見出し文字列の変更
次の例は、カテゴリID 9、5、23 のみを表示、見出しを <h2> タグ付きの "Poetry" 語句に変更:
<?php wp_list_categories('include=5,9,23&title_li=<h2>' . __('Poetry') . '</h2>' ); ?>
次のコードは、ID でソート、カテゴリID 8 の子カテゴリのみのカテゴリリンクを生成する例です。各カテゴリの投稿数は表示、リンクの title 属性のカテゴリ概要は非表示です。注: 親カテゴリに投稿がないときは、親カテゴリは表示されません。
<?php wp_list_categories('orderby=id&show_count=1
&use_desc_for_title=0&child_of=8'); ?>
カテゴリ名でソート、各カテゴリの投稿数を表示、各カテゴリの RSS フィードへのリンクを表示する例:
<?php wp_list_categories('orderby=name&show_count=1&feed=RSS'); ?>
RSS リンク部分をフィードアイコンで表示するには:
<?php wp_list_categories('orderby=name&show_count=1&feed_image=/images/rss.gif'); ?>
- show_option_all
- (文字列) ブランク以外の文字列を設定すると、全カテゴリの記事を表示するページ(ブログのトップページ)へのリンクを、カテゴリリストの先頭に表示します。リンクテキストはこのパラメータで指定した文字列です。デフォルトでは表示しません。
- orderby
- (文字列) カテゴリのソート項目。初期値はカテゴリ名でソート。有効値:
-
ID- カテゴリID -
name- カテゴリ名のアルファベット順(初期値) -
count- カテゴリの投稿数
-
- order
- (文字列) カテゴリのソート順。初期値は 昇順。有効値:
-
ASC- 昇順(初期値) -
DESC- 降順
-
- show_last_updated
- (真偽値) (各カテゴリに属する)投稿の最終更新日を表示するか。初期値は非表示(FALSE)。
-
1 (true)- 表示 -
0 (false)- 非表示(初期値)
-
- style
- (文字列) カテゴリリストの表示形式。マークアップの節 を参照。有効値:
-
list- 箇条書き(<li>)(初期値) -
none- 表示形式なし(各カテゴリは<br>(改行)で区切られる)
-
- show_count
- (真偽値) 各カテゴリに投稿数を表示するか。初期値は false(非表示)。有効値:
-
1 (true)- 表示 -
0 (false)- 非表示(初期値)
-
- hide_empty
- (真偽値) 投稿のないカテゴリを非表示にするか。有効値:
-
1 (true)- 空カテゴリを隠す(初期値) -
0 (false)- 全て表示
-
- use_desc_for_title
- (真偽値) カテゴリの概要をリンク(アンカータグ)の
title属性に挿入(<a title="<em>カテゴリ概要</em>" href="... のように)するか。初期値は true(カテゴリ概要を挿入)。有効値:-
1 (true)- カテゴリ概要を挿入(初期値) -
0 (false)- 挿入しない
-
- child_of
- (整数) このパラメータで指定したカテゴリID の子カテゴリのみ表示。初期値なし。このパラメータを使うと、hide_empty パラメータに false がセットされる。
- feed
- (文字列)各カテゴリの rss-2 フィードへのリンクを表示、そのリンク文字列を設定する。初期値は フィードへのリンク・リンク文字列なし。
- feed_image
- (文字列) 各カテゴリの rss-2 フィードへのリンクを画像(通常は RSSフィードアイコン)で表示したいときに、その画像の URI を設定。このパラメータは feed パラメータより優先(リンク文字列の替わりに画像)。初期値なし。
- exclude
- (文字列) 指定したカテゴリ(複数可)をリストから除外。除外するカテゴリID をカンマ区切りで昇順に指定。用例を参照。child_of パラメータは自動的に無効となります。
- include
- (文字列) 指定したカテゴリID のみリストに表示。カンマ区切りで昇順に指定。用例を参照。
- hierarchical
- (真偽値) サブカテゴリを箇条書き項目の内側(親カテゴリより下位レベル)に表示するか、親と同レベルで表示するか。(つまり、箇条書きを入れ子・ツリー表示にするか否か。)初期値は true(サブカテゴリを親より下位レベルに表示)。有効値:
-
1 (true)- 入れ子表示(初期値) -
0 (false)- 親子同レベル
-
- title_li
- (文字列) 箇条書きの外側に表示するタイトルと表示形式。デフォルトは "_Categories"。このパラメータを中味を空で指定すると、箇条書きの外側には何も表示しません。用例を参照。
- number
- (整数) 表示するカテゴリ数を設定。SQL の LIMIT 値となります。初期値は無制限。
- echo
- (真偽値) 結果を表示するか、変数等へ値を返すか。初期値は true(整形されたカテゴリリストを表示)。このパラメータは 2.3 以上でのみ使えます。有効値:
-
1 (true)- 表示(初期値) -
0 (false)- 値を返す
-
- depth
- (整数) カテゴリ階層のどのレベルまでをカテゴリリストに出力するかを指定。初期値は 0(全親子カテゴリを出力)。このパラメータは 2.5 以上でのみ使えます。
-
0- 全ての親子カテゴリを出力 (初期値) -
-1- 全てのカテゴリをフラット(インデントなし)形式で出力(hierarchical パラメータより優先) -
1- 最上位カテゴリのみ出力 -
n- n(数値)階層目までを出力。'2' と指定すれば、最上位とすぐ下の子カテゴリまでを出力。
-
変更履歴
the_category, the_category_rss, single_cat_title, category_description, wp_dropdown_categories, wp_list_categories, in_category, get_category_parents, get_category_link, get_the_category
原文・最新版: WordPress Codex » Template Tags/wp_list_categories (最新版との差分)
