人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

WordPress 3.0.1 のサイドメニュー作成に関して教えてください。

例えば「サービス」のページを見ているときは、その下部ページのメニューのみを表示したいのですが、思いつく方法を教えて頂けないでしょうか。



例1)「サービス」ページを見ているときのサイドメニュー内容
-------------------
●サービス
○サービスA
・サービスAの説明1
・サービスAの説明2
・サービスAの説明3
○サービスB
○サービスC
-------------------

※3階層表示が無理なら2階層表示だけでも構いません。


例2)「会社情報」ページを見ているときのサイドメニュー内容
-------------------
●会社情報
○代表挨拶
○会社概要
○沿革
-------------------


●質問者: kazoo9
●カテゴリ:インターネット ウェブ制作
✍キーワード:wordpress サービス 会社 作成 挨拶
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

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」は作成してあります。


使い方に間違いがあるのでしょうか。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ