2
是否可以根據菜單中是否存在當前頁面來有條件地顯示菜單?如果當前頁面在菜單中,僅顯示菜單
是否可以根據菜單中是否存在當前頁面來有條件地顯示菜單?如果當前頁面在菜單中,僅顯示菜單
您可以使用下面的代碼。遍歷每個菜單中的每個項目,並檢查項目是否存在。如果是,則顯示菜單並轉到下一個菜單。
<?php
// get array of nav menus
$menus = wp_get_nav_menus();
//get current page URL
$uri = $_SERVER['REQUEST_URI'];
//loop through each menu looking for current page
foreach($menus as $menu)
{
//get menu items from ith menu in loop
$items = wp_get_nav_menu_items($menu->term_id);
//loop through each item in menu to check for
foreach($items as $item)
{
if(strpos($item->url, $uri) !== false)
{
//display menu
wp_nav_menu(array('menu'=>$menu->term_id));
//current menu done, check next menu
break;
}
}
}
?>
所有相關的Wordpress函數的用法可以在代碼中找到,或通過Google搜索。
'if(strcmp($ item-> url,$ uri)== 0)'似乎效果更好! – testing 2014-02-17 00:44:31
檢查[this](http://wordpress.org/extend/plugins/menu-items-visibility-control/)或[this](http://wpmu.org/how-to-add-conditional-菜單到的wordpress /)。 – 2013-02-23 21:39:46