WordPress主题为何仅显示/重复显示移动端导航栏,PC导航不显示?
解决WordPress双导航仅显示移动端的问题
核心问题是调用wp_nav_menu时参数名写错了——正确的位置参数是theme_location(下划线),你写成了theme-location(连字符),导致PC端导航无法匹配到注册的nav_pc位置,只能 fallback到默认菜单(也就是你设置的移动端菜单),所以才会出现重复显示移动端导航或只显示它的情况。
按以下步骤修复:
1. 修正导航模板的参数名
修改navbar_pc.php中的参数:
<nav> <?php $argsforpcnavbar = array( "theme_location" => "nav_pc" // 把theme-location改成theme_location ); wp_nav_menu($argsforpcnavbar); ?> </nav>
同样修改navbar_mobile.php的参数(虽然移动端显示了,但参数名本身也是错误的,避免后续隐患):
<nav> <?php $argsformobilenavbar = array( "theme_location" => "nav_mobile" // 把theme-location改成theme_location ); wp_nav_menu($argsformobilenavbar); ?> </nav>
2. 确认后台菜单分配
登录WordPress后台,进入外观 → 菜单,检查Navigationsmenü für PCs和Navigationsmenü für mobile Endgeräte两个位置是否都分配了对应的菜单,确保没有漏选。
3. 核对模板文件路径
确认navbar_pc.php和navbar_mobile.php确实存放在主题目录的template_parts子文件夹中,文件名没有拼写错误(比如大小写、.php后缀是否齐全)。
修改完成后刷新页面,两个导航菜单应该就能正常分别显示了。
内容的提问来源于stack exchange,提问作者Alwin Schneider
相关产品推荐
相关产品推荐

