WordPress调用wp_nav_menu时头部显示底部导航?求助排查
WordPress导航显示异常:调用头部菜单却出现底部菜单的解决办法
嘿,我一眼就揪出问题所在了——你在header.php里的wp_nav_menu参数拼写错了!
核心错误:参数名拼写错误
你写的是"theme-location",但WordPress官方函数要求的参数名是theme_location(注意是下划线,不是连字符)。这个不起眼的拼写错误会让函数无法识别你指定的primary主题位置,于是就自动 fallback 显示了其他已注册的菜单(也就是你设置的底部secondary菜单)。
修正后的header.php代码
把参数名改过来就行:
<?php wp_nav_menu( array( "theme_location" => "primary", "container" => "ul", "menu_class" => "navbar-nav mr-auto" )); ?>
额外检查点(以防万一)
- 去后台「外观→菜单」页面,确认你创建的头部菜单确实勾选了"Primary Header Navigation"这个位置(要对应你在
functions.php里注册的那个名称,别只看显示的"header"字样) - 清理一下WordPress的缓存(如果用了缓存插件的话),避免旧设置残留导致显示异常
- 检查
footer.php里的导航调用,确保它用的是theme_location => "secondary",防止头尾菜单的调用逻辑搞混
内容的提问来源于stack exchange,提问作者Ryan Hinchliffe
相关产品推荐
相关产品推荐

