Jul
21
2005
カテゴリのリストを表示するタグです。詳しい説明はCodexのwp_list_catsページに。list_cats()と殆ど同じですが、変数の設定の仕方がクエリー形式になります。
使い方
表示したいテンプレートファイルに
<?php wp_list_cats('変数'); ?>
とすればいいだけです。変数の部分には色んな設定ができます。指定したい物だけを()内に、「変数名=値」の形で書き、複数の指定する項目がある場合は「&」でつなぎます。
使用例
標準値
何も指定しない時の設定です。
<?php wp_list_cats(); ?>
だけだと、以下の標準値が表示されます。
- optionall - 全カテゴリー表示へのリンクを表示しない
- all - 全カテゴリを表示へのリンクの表題となるテキスト。allを押すと全カテゴリが表示されます。
- sort_column - カテゴリIDでソート
- sort_order - 昇順にソート
- file - カテゴリをindex.phpに表示する
- list - カテゴリをリスト形式で表示(<ul><li>)
- optioncount - 各カテゴリの記事数を表示しない
- hide_empty - 記事のないカテゴリは表示しない
- use_desc_for_title - カテゴリにマウスを置くとそのカテゴリの説明がでてくる
- children - サブカテゴリを表示する
- hierarchical - サブカテゴリを各メインカテゴリの下に階層で表示する
いくつかのカテゴリを除いたリスト
カテゴリIDが10と15のものを除いて、カテゴリ名でソートし、各カテゴリの記事数を表示する場合
<ul>
<?php wp_list_cats(’sort_column=name&optioncount=1&exclude=10, 15′); ?>
</ul>
特定のカテゴリのサブカテゴリだけを表示
カテゴリIDが8のカテゴリのサブカテゴリだけを、カテゴリIDでソートし、各カテゴリの記事数を表示せず、カテゴリの説明をリンクタイトルに表示しない(マウスをカテゴリに置いた時にカテゴリ説明がでない)場合
<?php wp_list_cats('sort_column=id&optioncount=0&use_desc_for_title=0&child_of=8'); ?>
もし指定したメインカテゴリ(この場合はID8)に記事がない場合、そのサブカテゴリに記事があってもリストが表示されません。表示したい場合はhide_empty=0を使うことで回避できます。
使用上の注意
リスト表示にする設定の場合(”list”で設定)、各カテゴリはLIタグでくくられますので、wp_list_cats() タグをULでくくってあげてください。
変数
設定できる変数の説明です。
- optional
“全カテゴリを表示”をリストに加えるかどうか。使える値は:- 1 (True) - 全カテゴリ表示をリストに加える
- 0 (False - 標準値) - 加えない
- all
“全カテゴリ表示”に使うテキスト。標準値は’all’. “全カテゴリ表示”という言葉を使いたい場合はここで指定します。 - sort_column
ソートできる項目- ID (標準値) - カテゴリID
- name - カテゴリ名
- sort_order
設定できるソート順。使える値は:- asc (標準値) - 昇順
- desc - 降順
- file
カテゴリファイルが表示されるphpファイル。標準値はindex.php - list
カテゴリリストをリストタグ(<ul><li>)でくくるかどうか。使える値は:- 1 (True - 標準値) - くくる
- 0 (False) - くくらない
- optiondates
各カテゴリに最新で投稿された日付。使える値は:- 1 (True) - 表示する
- 0 (False - 標準値) - 表示しない
- optioncount
各カテゴリの記事数を表示するかどうか。 使える値は:- 1 (True) - 表示する
- 0 (False - 標準値) - 表示しない
- hide_empty
記事がないカテゴリを隠す(非表示にする)かどうか。使える値は:- 1 (True - 標準値) - 非表示にする
- 0 (False) - 表示する
- use_desc_for_title
カテゴリの説明をリンクタイトルに表示するかどうか(例. <a title=”カテゴリの説明” href=”…)。使える値は:- 1 (True - 標準値) - 表示する
- 0 (False) - 表示しない
- children
サブカテゴリを表示するかどうか。使える値は:- 1 (True - 標準値) - 表示する
- 0 (False) - 表示しない
- child_of
特定のカテゴリのサブカテゴリだけ表示する。ID番号で指定する。標準値はありません。 - feed
各カテゴリのRSS2 feedのリンクに表示されるテキスト。デフォルトは表示するテキストはなしで、feedも表示されない。 - feed_image
各カテゴリのRSS2 feedのリンクとして使われる画像までのパスかファイル名。feedの設定に上書きされる。 - exclude
表示しない(除く)カテゴリID。”,”で区切って複数指定もできる。(例: 1, 2, 3). - hierarchical
サブカテゴリを各メインカテゴリの直下に階層でリスト表示するかどうか。使える値は:- 1 (True - 標準値) - 階層で表示
- 0 (False) - 階層で表示しない
hierarchicalの変数が使えるのはバージョン1.5以降です。
Trackback URI: http://www.hyperpup.com/main/archives/237/trackback/
11 Responses to “wp_list_cats”
Trackbacks & Pingbacks
-
Trackback by 奇人blogカテゴリー表示のカスタマイズ
カテゴリーの表示をカスタマイズする必要があったので、カテゴリーを表示するためのテンプレートタグ、wp_list_cats() の記述方法をわかる部分だけメモ。
wp_list_cats()
機能:利用可能な…


コメントありがとうございます。wp_list_cats()とlist_cats() について詳しく書かれていたので、非常に参考になりました。私自身、英語がほとんど読めないので、不明な部分がわかりありがたかったです。またちょくちょく、のぞきに来させてもらいますので、よろしくお願いします。
toshi
Wed, August 17, 2005 @ 5:45
toshiさん、こんにちは。こちらこそコメントありがとうございます。
私もPHPは全く駄目なので、同じ内容を何度も検索して英語を何度も読むのがしんどいので書き留めている感じです。頑張って情報も増やせていけたらなって思っています。こちらこそこれからも宜しくお願いします。
Mayu
Wed, August 17, 2005 @ 20:16
はじめまして。
最近WordPress使い出したばかりでアーカイブを作る際に非常わかりやすく参考になりました!
これからも色々参考にさせていただきます
kaug21
Fri, June 16, 2006 @ 4:00
はじめまして
コメントありがとうございます。
WordPressって色々いじれるだけに、奥が深いですよね!
これからもよろしくお願いします。新しいGravatarがコメントリストに増えて嬉しいです
Mayu
Fri, June 16, 2006 @ 17:45
こんにちは、
良く拝見しては、関心して読ませてもらっています。
色々試したのですが、分からないので教えて欲しいのですが…
php list_cats でも php wp_list_cats でも
li で表示する時に、このli の属性をカテゴリータイトルなどにしたいのですが、
(wordpressで自動的に)
そんなことできますか?
こちらのサイトでは、ヘッダーとフッターのメニューで、liの属性が、
ページ、もしくはブログページのタイトルになっていますよね?!
そういった感じでこの php list_cats を使いたいのですが、
何か良いアイデアはありませんでしょうか?
結局は、サイドバーメニューで、テキストリンクではなく、
gif画像でメニュー表示をさせたいので、
(背景だけでなく、テキストもgif画像を望んでいます。)
liに属性が持たせられれば、cssを使って出来るのではないかな?と考えています。
どうぞ、宜しくお願いします。
ならのおじぞうさん
Tue, December 4, 2007 @ 13:14
ならのおじぞうさん、はじめまして。
最近全くWPをいじってないので、新しいバージョンのWPでは何か解決策があるのかもしれませんが・・・。
とりあえず、私がこのサイトのヘッダで使っている方法は、リスト形式(ulとli)でここに表示させたいPageのリンクを張ってます。(list_pagesは使ってません)
wp_list_catsなどでここのliにcssでidをつけられるのならこのタグを使って画像に置き換えるのも可能なのかもしれませんが、見たところそれはできなさそうなので、カテゴリやページが増えた時はいちいち手間がかかりますが個々にリンクを張る方法しかないのではないかと思います。(自動的には無理っぽいです)
ただ、画像を使用せずにテキストで横方向のリストにするのなら可能ですが、idをliに個々につけれないので、li全部に同じ画像を使用するならばcssで置き換えも可能だと思います。でもメニューに使うとなると同じ項目がいくつも並ぶことになるので、メニューとしては機能しないし駄目ですよね。
やはりプラグインを使うか、ファイルを編集しないと駄目みたいで、ならのおじぞうさんがやりたいことと同じかどうかはわかりませんが、WordPressのForumのwp_list_pages(’child_of=8&title_li=’)というスレッドに、サイドバーのカテゴリーに画像を使う方法が書かれてるみたいです。ちょっと開くのに時間がかかりますがsmuff.roというサイトの方がコードを書かれているみたいで、このサイトでもカテゴリー毎に画像が使われるみたいです(サイドバー)でもプラグインではなくてファイルを編集しないと駄目みたいです。
あとCategory Icon Pluginというのも似たようなものみたいです。このプラグインはあらかじめアップロードしたそれぞれのカテゴリ名と同じ名前の画像がカテゴリ表示の時に使われるみたいです。(このプラグインのページのヘッダーのメニューがそうだと思います)
両方のサイト共、カテゴリ名の先頭や上に画像が来て文字にリンクがはられている状態ですが(画像にはリンクが張られていない)、もしこの画像が背景画像として使われているならcssを利用して文字を消して画像をメニュー全体ととらえてリンクをはらすのは可能だと思います(私のサイトの左上の赤と黄のhyperpupのロゴの部分がそのやり方です)ただ、これが画像として位置づけされていたら、プラグインの内容をいじらないとリンクをはったりするのは無理ではないかと思います。
実際にどちらも試す時間がなくて出来てないので詳しくはわからないですが、今試しにcategory_icon_images-v0.8.zipをダウンロードして開いてみたところ、
<li>空白(カテゴリ画像)空白<a href>(太字のカテゴリ名)</a></li>みたいに設定されてるところがあるみたいなので、画像として使われていますが、この部分を編集してアップロードしたら何とかなるんじゃないでしょうか?例えば
<li><a href>(カテゴリ画像)</a></li>のように。
時間がなくて(すいません)試していないし、私はPHPは本当にド素人なので間違ってるかもしれませんし的外れかもしれないので、もし試される場合はテストサイトなどでやってみて下さいね。あとこのプラグイン、私がダウンロードしたのはWP2.3以上の方なので使っているWPに合った方をダウンロードして下さいね。
色々と探しながら書いたので、まとまりのない文章で読みにくくてすいません
Mayu
Wed, December 5, 2007 @ 0:00
Mayu 様
色々調べてもらったみたいで、感謝します。
自分の方もある程度までは、解決したのですが、最後の決め手が無く困っていました。
いくつか、リンク先の情報等合わせて試してみようと思います。
まずは、ご連絡までと思い返信させてもらいました。
本当に返信の内容に感謝します。さ~、もういちど試すぞ~!
後日ご報告にまいります。
ならのおじぞうさん
Fri, December 7, 2007 @ 20:41
ならのおじぞうさん
こんばんは。サイト応援してます、頑張ってください。WPは触りだすと没頭してしまいますよね!
また良かったら出来上がったサイトも見せてくださいね、楽しみにしています
Mayu
Fri, December 7, 2007 @ 21:44
Mayu様、ごぶさたしております。
ならのおじぞうさんです。
いつぞやは、WPでの質問をさせてもらいましたが、
結局上手くいかず、また、色々悩んだ挙句、MTでサイト構築をする事になりました。
最終的には、gif画像そのもを使うアイデアを白紙に戻してしまいました。(根性なしです…)
事後報告になりますが、やっとこさっとこサイトが完成しましたので、お恥ずかしいですが報告に参りました。よかったら、覗いて下さいませ。
また、寄らせて貰います。
おやすみなさい。
ならのおじぞうさん
Wed, January 23, 2008 @ 22:52
ならのおじぞうさん、こんにちは!サイト見せていただきました(学年は違うかもですが同い年ですね)
サイトの完成おめでとうございます。私はMTは使ったことがないのですが使い心地はどうですか?
最近私もWPを触ってないのですが、そろそろ時間があればサイトのデザインを変更したいと思っています。なかなかアイデア浮かばなくてそこに時間がかかります(優柔不断なもので)
お互いサイトの更新も頑張りましょうね!私もまたのぞきにいかせてもらいますね!
ご報告ありがとうございました
Mayu
Fri, January 25, 2008 @ 9:54