我真的是新的WordPress的。我有一個自定義菜單,當用戶瀏覽器登錄特定頁面時,我只想顯示特定的菜單項。如何顯示特定的CSS樣式wp_nav_menu()
wp_nav_menu(陣列( 'theme_location'=> '菜單主'));
有沒有辦法有wp_nav_menu()掛鉤,只顯示具有特定CSS類項目的具體菜單項?
我真的是新的WordPress的。我有一個自定義菜單,當用戶瀏覽器登錄特定頁面時,我只想顯示特定的菜單項。如何顯示特定的CSS樣式wp_nav_menu()
wp_nav_menu(陣列( 'theme_location'=> '菜單主'));
有沒有辦法有wp_nav_menu()掛鉤,只顯示具有特定CSS類項目的具體菜單項?
考慮在編寫自定義函數之前搜索現有的插件。爲了您的特定功能,我會使用Page Specific Menu Items插件。
如果你想添加到現有的功能,可以考慮使用body_class
過濾器。有了這個功能,你可以在你的body元素中添加一個css類,然後編寫css來改變你的菜單在任何特定頁面上的顯示方式。
如果我很好地理解你的問題,是的,有一種方法。你可以使用條件。 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
}
而且你可以在類/ ID添加到wp_nav_menu
所以連接這兩個想法,你可以有:
// 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
沒有,沒有。然而,研究'wp_nav_menu' - 你會看到你可以*顯示多個菜單,這取決於你在哪個頁面上,此外,你可以「過濾」菜單,所以使用自定義代碼,你可以構建一個過濾器,用於限制在特定情況下顯示哪些菜單項。 –