HOME > blog > WPカスタマイズ備忘録 > カスタムメニューをindex.phpなどに表示する方法

カスタムメニューをindex.phpなどに表示する方法

wordpress3.XX以降に対応したというカスタムメニューは、けっこう便利です。

いままで、親カテゴリー、子カテゴリーって分けていました。わかりやすいように。

好きな食べ物(親カテゴリー)  └納豆(子カテゴリー) 好きな本(親カテゴリー)  └紫式部 源氏物語(子カテゴリー) 好きな旅行先(親カテゴリー)  └離島(子カテゴリー)

それを、子カテゴリーだったのを親カテゴリーにして親カテゴリーは無しにする。そして、カスタムメニューを作っておいて、それをウィジェットで表示する。ウィジェットで表示するときに、ウィジェットのタイトルをいままでの”親カテ”にあたる名前にすればよいというわけです。

納豆(親カテゴリー) 紫式部 源氏物語(親カテゴリー) 離島(親カテゴリー)   ↓ カスタムメニューで次の3つのメニューを作成 メニューの名前”foodmenu” 納豆(親カテゴリー) メニューの名前”bookmenu” 紫式部 源氏物語(親カテゴリー) メニューの名前”islandmenu” 離島(親カテゴリー)   ↓ ウィジェットでカスタムメニューを使って 好きな食べ物(タイトル)  └納豆(親カテゴリー) 好きな本(タイトル)  └紫式部 源氏物語(親カテゴリー) 好きな旅行先(タイトル)  └離島(親カテゴリー)

こんな感じです。

で、それをもっと使いまわそうと思って、wp_nav_menuの出番。

<?php wp_nav_menu( array('menu' => '×××' )); ?>

×××、のところは、カスタムメニューで設定した”メニューの名前”です。

これをたとえばindex.phpの好きなところに追記してやれば、そこにメニューが表示できるということです。

参考にしました。
WordPress のよくあるカスタマイズコード functions.php 多め WordPress3.xでメニューをカスタマイズする(wp_nav_menu の出力を変更する方法) – [[ ist ]] mac,windows,ipod パソコン周辺機器 etc…

出力されるdivなどのクラス設定も可能なようです。
wp_nav_menu:WordPress私的マニュアル