经过5天的谷歌搜索、反复试验和无数插件,我终于找到了一个适合我的解决方案。
我又回到了使用桌面和移动访问者的共同主题,但每个人都有自己的自定义菜单。这对我来说很容易,因为我正在试验Genesis框架,他们的“沙盒”儿童主题内置了最小化/移动导航功能。因此,我只需将主选项和移动选项设置为桌面菜单。
为了满足移动访客的需要,我安装了优秀的“响应菜单”插件:https://wordpress.org/plugins/responsive-menu/ 这使您可以选择为其源选择不同的自定义菜单,因此我将其设置为我的移动菜单。
添加响应插件意味着我最终显示了2个导航菜单,因此我使用了一些条件CSS来隐藏桌面上的响应菜单,并隐藏手机的Genesis菜单。
<?php if (wp_is_mobile() ): ?>
<style type="text/css">
.desktop-nav{display: none;}
#click-menu{display:block;}
</style>
<?php endif; ?>
单击菜单是响应菜单的div。如果需要,可以通过安装mobble插件更准确地定位“wp\\u is\\u mobile”功能。
我甚至为手机访问者添加了一个页面重定向,将他们带到我编辑的主页:
function so16165211_mobile_home_redirect(){
if( wp_is_mobile() && is_front_page() ){
wp_redirect( \'/mobile-home\' );
exit;
}
}
add_action( \'template_redirect\', \'so16165211_mobile_home_redirect\' );
所以你有了它!这是我刚才可以接受的解决方案。理想情况下,我可以为移动访问者提供选择移动或桌面体验的选项,但这似乎需要设置cookie,这很可能是另一天的问题。
再次感谢所有花时间回应的人,尤其是那些认为有两个不同主题不是最好的方法的人。