Twenty Twelveなどメニューにウィジェットを使用してグローバルナビの所に表示する方法

Twenty ElevenやTwenty Twelveでは、header.phpファイルにグローバルナビゲーション(メニュー)を表示するためにwp_nav_menu関数を使用していますが、代わりにheader.phpファイルで、dynamic_sidebar関数を使いウィジェットを利用して「外観」⇒「メニュー」ので作成したメニューを表示する方法について。

※この方法は、本来の使用方法ではなく、またTwenty Twelveなどテーマ用に作成されているCSSスタイルが適用されないので、ナビを綺麗に表示するためにスタイルを追加、また手直ししなければなりませんので、お勧めする使い方ではありません。

作成方法

①外観⇒メニューに移動して、ナビに表示するメニューを作成します。

header-dynamic-sidebar

②外観⇒ウィジェットに移動して、サイドバー表示用のウィジェット(使用していないウィジェットエリア)にカスタムメニューを配置して、外観⇒メニューで作成したナビ用のメニューを設定します。

【Twenty Twelveを使用した例】
header-dynamic-sidebar2

③header.phpファイルのナビゲーションを表示したい任意の場所にdynamic_sidebar関数を入力します。このとき、ナビ用に使用したウィジェットのIDをfunctions.phpファイルを参考にdynamic_sidebarのパラメータに設定します。

【コード例】

サイドバー表示にsidebar-1使用していて、sidebar-2を使用していない場合、ナビ用に使用するコード例になります。

<?php dynamic_sidebar( 'sidebar-2' ); ?>

これで、外観⇒メニューで作成したメニューをウィジェットのカスタムメニューを利用してヘッダーのナビの所で表示できるようになります。

ウィジェットを利用しているので、カテゴリーをウィジェットに追加して名日に表示することもできます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です