我想为桌面和手机用户提供两种不同的菜单。
因此,我使用此功能为两个菜单(主菜单、移动菜单)创建了两个位置:
功能。php:
function is_register_my_menus() {
register_nav_menus(
array(
\'primary\' => __( \'primary\' ),
\'mobile\' => __( \'mobile\' )
)
);
}
add_action( \'init\', \'is_register_my_menus\' );
到目前为止,一切顺利。我可以创建另一个菜单,去掉一个项目,并将该菜单设置为“移动”。
然后我安装了Wordpress插件PHP浏览器检测,效果很好。我试着根据设备的不同,切换/交换这两个菜单。
标题。php:
<nav id="nav" role="navigation" class="gross">
<div id="knopf"><a href="#"></a></div>
<?php if ( is_mobile() ) { wp_nav_menu( array(\'menu\' => \'mobile\' ) ); } else { wp_nav_menu( array(\'menu\' => \'primary\' ) ); }; ?>
</nav>
不幸的是,无论计算机/桌面或移动设备如何,它始终显示主菜单。我是否在if/else代码中做错了什么?我在帖子中也使用它来交换每个设备的post\\u缩略图,在那里它工作得很好。
最合适的回答,由SO网友:Howdy_McGee 整理而成
没有is_mobile()
据我所知,功能。WordPress使用wp_is_mobile()
这可能就是你要找的。所以应该是这样的:
<?php if ( wp_is_mobile() ) { wp_nav_menu( array(\'menu\' => \'mobile\' ) ); } else { wp_nav_menu( array(\'menu\' => \'primary\' ) ); }; ?>
EDIT
在进一步检查您的问题之后,您似乎已经安装了一个插件来为您进行浏览器嗅探。它看起来确实使用
is_mobile()
但由于我对这个插件不熟悉,我建议使用普通插件
wp_is_mobile()
不使用插件,谁知道该插件可能有什么问题,或者该插件是否与您的安装兼容。
FINAL EDIT
根据OP,结果是菜单名称不匹配。