基于URL显示wp_NAV_MENU(),无回退

时间:2011-11-17 作者:aj martin

我有每个url的特定wp菜单
当我遇到没有匹配wp菜单的url时,我不想要任何导航。到目前为止,如果没有找到,它将显示默认导航或选择一个现有导航来显示。

用例

http://domainnameA.com 显示wp\\U nav\\U菜单(\'domainnameA\')

http://domainnameB.com 不存在菜单-不显示导航

相反,我在域B上获得Nav,该域有一个指向唯一存在页面的链接。如果我删除该页面,我将无法获得导航,但这不是一个很好的解决方案。

1 个回复
SO网友:Tom J Nowell

Use has_nav_menu

e.g.

$menu_name=$_SERVER[\'SERVER_NAME\'];
$menu_name=str_ireplace("WWW.","",$menu_name);
$menu_name=str_ireplace(".","",$menu_name);
$menu_name = sanitize_title($menu_name); // sanitize!

if(has_nav_menu($menu_name)){
    wp_nav_menu(array(\'menu\' => $menu_name));
}
结束

相关推荐

Menu API not switching menus?

我正在使用菜单API,我想切换到其他菜单,但出于某种原因,它保留了第一个菜单这是我的密码在函数中。php add_action( \'init\', \'register_my_menus\',10 ); function register_my_menus() { register_nav_menu(\'main-navigation\', \'Main Navigation\'); } 下面是我的主题文件(header.ph