▽1
●
rouge_2008 ●60ポイント ![]() |
条件分岐で表示するメニューを指定するのはいかがでしょうか?
※各ページに表示するメニューは、管理画面の「外観」→「メニュー」から作成した物を使用します。
・「sidebar.php」(※「TwentyTen」を使用している場合です。)
(※サービスに属する各ページ用に「sidemenu1」、会社情報に属する各ページ用に「sidemenu2」、その他のページ用に「sidemenu3」でメニューを作成した場合です。)
<div id="primary" class="widget-area" role="complementary"> <!-- ここから追加 --> <?php if (is_page()) { if (is_page('サービス') || is_page('サービスA') || is_page('サービスAの説明1') || is_page('サービスAの説明3') || is_page('サービスB') || is_page('サービスC')) { wp_nav_menu( array( 'menu' => 'sidemenu1' ) ); } elseif (is_page('会社情報' || is_page('代表挨拶') || is_page('会社概要') || is_page('沿革')) { wp_nav_menu( array( 'menu' => 'sidemenu2' ) ); } else { // その他のページに表示するメニュー wp_nav_menu( array( 'menu' => 'sidemenu3' ) ); } }; ?> <!-- ここまで --> <ul class="xoxo">
※ページのタイトルではなく、「if (is_page('5') || is_page('7') || is_page('10') ... )」のようにページのidで指定する事も出来ます。
※ページのタイトルで指定する場合は、文字コードUTF-8で保存し直すようにしてください。
※上記はサイドバーの一番上に表示する場合です。ウィジェットを使用している場合(※TwentyTen」のデフォルト状態では使用しています。)で、違う順番で表示したい場合は、「sidebar.php」への追加位置を変更し、さらに管理画面の「外観」→「ウィジェット」で各エリアに表示するウィジェットを変更するといいです。
http://wpdocs.sourceforge.jp/Conditional_Tags#.E3.82.B5.E3.82.A4...
・表示調整の必要がある場合、「style.css」の最後に追加
ul#menu-sidebar1 li, ul#menu-sidebar2 li, ul#menu-sidebar3 li { list-style-type: square; margin-left: 15px; } ul#menu-sidebar1 li ul li, ul#menu-sidebar2 li ul li, ul#menu-sidebar3 li ul li { margin-left: 1px; }
ご回答を有り難うございます。
ただ、オリジナルの「sidebar.php」テンプレートに差し込んでも下記のエラーが出てしまったため、
「TwentyTen」に戻して差し込んでみたのですが、それでもエラーが出てしまいました。
エラー内容
Parse error: syntax error, unexpected '{' in C:\xampp\htdocs\wordpress\wp-content\themes\aaa-wp\sidebar.php on line 5
※メニューで「sidemenu1」「sidemenu2」「sidemenu3」は作成してあります。
使い方に間違いがあるのでしょうか。