故障表现

后台建好菜单并保存,前台顶部导航没有任何链接。

问题出在哪

菜单没有绑定到主题注册的显示位置,或主题只支持一个菜单位。判断时先分清是 WordPress 菜单位置 本身的配置问题,还是上游调用、运行环境带进来的差异;前者改配置就能收口,后者要沿着请求链路一层层往上找,处理顺序不能颠倒。先在出问题的机器上复现一次,把报错原文和发生时间记下来,再对着日志定位。

按这个顺序处理

  1. 查看主题注册的菜单位置名
  2. 把菜单指派到对应位置
  3. 确认主题模板调用了该位置

对应的命令或配置片段如下,可直接复制:

register_nav_menus([
  'primary' => '主导航',
  'footer' => '页脚导航',
]);
wp_nav_menu(['theme_location' => 'primary']);

改完只在一台机器上验证不够,至少从外网和移动网络各试一次,才能确认不是本地缓存造成的假象。不要一次改多个参数,每次只动一处并记录下来,否则现象变了也说不清是哪个改动起的作用。

怎么确认改好了

前台导航显示后台配置的菜单项。

作者 9823189