ヘッダーメニューをカテゴリで表示させている場合の順序変更方法 – wordpress

2009年12月3日

20091203_1

ヘッダーメニューをカテゴリから引っ張ってきている場合のカテゴリ表示順序変更の仕方。
上記のようなメニューの場合、名前順だと、自動的にローマ字⇒ひらがな⇒カタカナという順番になってしまいます。
それを変更する方法です。
忘れないように自分用に頭の中を整理するメモですw

■wordpressは標準ではページの順序は変更できるが、カテゴリの順序変更は行えない。
サブメニューのカテゴリを変更するプラグインはあるけど、ヘッダーメニューまでは反映されない。
■header.php内にデフォルトで

<?php wp_list_categories('depth=1&hide_empty=0&orderby=name&order=ASC&title_li=' ); ?>

というように入ってます。
orderby=name (名前順)となっていますので、
ここをID(ID順)に変更すると、ID順=カテゴリを作った順に変更できる。(すでにがっちりカテゴリが入ってる人はめんどくさいことになると思いますのでこの方法はあきらめてくださいw)

1撃で修正できた!昨日あんなに悩んだのに・・・。
ちなみにパラメータは下記参照。

depth
(整数) カテゴリ階層のどのレベルまでをカテゴリリストに出力するかを指定。初期値は 0(全親子カテゴリを出力)。このパラメータは 2.5 以上でのみ使えます。

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

hide_empty
(真偽値) 投稿のないカテゴリを非表示にするか。有効値:

* 1 (true) – 空カテゴリを隠す(初期値)
* 0 (false) – 全て表示

orderby
(文字列) カテゴリのソート項目。初期値はカテゴリ名でソート。有効値:

* ID – カテゴリID
* name – カテゴリ名のアルファベット順(初期値)
* count – カテゴリの投稿数

order
(文字列) カテゴリのソート順。初期値は 昇順。有効値:

* ASC – 昇順(初期値)
* DESC – 降順

title_li
(文字列) 箇条書きの外側に表示するタイトルと表示形式。デフォルトは “_Categories”。このパラメータを中味を空で指定すると、箇条書きの外側には何も表示しません。用例を参照。

参考:http://bono.s206.xrea.com/pswiki/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_list_categories
あースッキリしました。
ご協力ありがとうございました!


タグ: ,