WordPressでサイトを作っていると、カテゴリの扱いに結構困ってしまいます。
例えば、あるカテゴリをクリックして、カテゴリアーカイブを開いた時、サイドメニューには同列のカテゴリ一覧(表示しているカテゴリの親カテゴリの子カテゴリ全て)を表示したいことは非常に多いでしょう。
これって、テンプレートタグがないんですよね、意外なんですが。
これを実現するタグが下記です。
[php]/* 表示しているカテゴリIDを取得 */
$catid = get_query_var(‘cat’);
/* 表示しているカテゴリの情報を取得 */
$cat = get_category($catid);
/* 親カテゴリがあれば、親カテゴリのIDを取得し、$parent_idへ代入 */
if ($cat->parent) {
$parent = get_category($cat->parent);
$parent_id = $parent->cat_ID;
}
echo ‘<ul>’;
wp_list_categories("hide_empty=0&orderby=order&title_li=&child_of=$parent_id");
echo ‘</ul>’;[/php]
これで”ul”タグなどにCSSでクラスを割り当てたりするとデザイン的な変更もできます。
原理は簡単なのですが、結構面倒ですよねぇ・・・
[tmkm-amazon]488337730X[/tmkm-amazon]