2017-12-27 50 views
1

私はワードプレスには本当に新しいです。私は、ユーザーのブラウザが特定のページに着くと、特定のメニュー項目を表示するだけのカスタムメニューを持っています。特定のCSSスタイルを表示する方法wp_nav_menu()

wp_nav_menu(array( 'theme_location' => 'menu-main'));

特定のcssクラス項目を持つ特定のメニュー項目のみを表示するwp_nav_menu()フックを持つ方法はありますか?

+0

いいえ、ありません。しかし、研究 'wp_nav_menu'は - あなたは* *あなたは、さらに上で、どのページに応じて、ショーの複数のメニューを持つことができ、あなたは「フィルタ」メニュー、カスタムコードとなるよう、あなたが構築できたことがわかりますフィルタは、特定の状況でどのメニュー項目が表示されるかを制限します。 –

答えて

0

カスタム関数を作成する前に既存のプラグインを検索することを検討してください。具体的な機能については、Page Specific Menu Itemsプラグインを使用します。

既存の機能に追加したい場合は、body_classフィルタを使用することを検討してください。この関数を使用すると、body要素にcssクラスを追加して、特定のページのメニューの表示方法を変更するcssを書くことができます。

1

あなたの質問がうまく理解できれば、はい、方法があります。条件文を使用できます。 PHPのif文。 WordPressはあなたがページタイトルをチェックすることができます、ID、カテゴリコマンドなど

if(is_page(array('about-us', 'contact', 'management')) { 

    //either in about us, or contact, or management page is in view 
    //execute something 

} else { 

    //none of the page about us, contact or management is in view 
    //execute something 

} 

を実行する前に、そして、あなたはので、2つのアイデアを結ぶwp_nav_menu

にクラス/ IDに追加することができ、あなたが持つことができます。

// When Page 42 (ID) is being displayed. 
if (is_page(42)) { 

    wp_nav_menu(array('menu_id' => 'pines', 'menu_class' => 'pnav')); 

} elseif(is_page(array('about-us', 'contact', 'management')) { 

    wp_nav_menu(array('menu_id' => 'bananas', 'menu_class' => 'nav')); 

} else { 

    wp_nav_menu(array('menu_id' => 'main-id', 'menu_class' => 'main-nav')); 

} 

独自のIDとクラスを追加することで、好みの方法でスタイルを設定できます。 参考https://codex.wordpress.org/Conditional_Tags

関連する問題