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