WordPress新建页面未显示头部菜单问题求助
兄弟,我之前折腾WordPress的时候也碰到过一模一样的情况,别慌,咱们一步步排查,大概率能解决:
先确认菜单位置是否正确分配:
你创建了newhomeheadermenu菜单后,除了把firstpage添加到菜单里,还要在「外观 → 菜单」页面的顶部找到「菜单设置」区域,看看有没有勾选主题提供的头部菜单位置(比如主题里注册的位置名称可能是“Header Menu”或者和你菜单名对应的选项)。很多人容易忽略这一步——光加菜单项不分配位置,菜单肯定不会显示在页面上。检查页面模板是否支持菜单调用:
新建的firstpage是不是用了自定义模板?有些自定义模板或者极简模板里没有写菜单调用代码。你可以去「外观 → 编辑器」(或者通过FTP打开主题文件),看看当前页面用的模板文件(比如page.php或者自定义模板的.php文件)里有没有这段代码:<?php wp_nav_menu( array( 'theme_location' => '你的菜单位置标识' ) ); ?>如果没有的话,要么换一个默认的带菜单的页面模板,要么把这段代码加到模板的头部区域(具体位置要看主题结构,一般在
<header>标签里)。清除缓存试试:
要是你装了缓存插件(比如WP Rocket、W3 Total Cache)或者用了CDN,有时候页面更新不会实时显示。先去后台清一下网站缓存,再清空浏览器的缓存(快捷键Ctrl+Shift+R强制刷新),然后再看页面。确认菜单和页面的设置没出错:
再回到菜单编辑页面,检查newhomeheadermenu下面确实有firstpage这个菜单项,而且你点了「保存菜单」按钮。另外,有些插件会给菜单加可见性限制,看看菜单项的设置里有没有不小心勾选了“仅对特定用户显示”之类的选项,确保是对所有访客可见的。自定义主题的话,检查菜单位置是否注册:
如果你用的是自己开发的主题,得确认主题的functions.php文件里有没有注册newhomeheadermenu这个菜单位置,代码大概是这样的:register_nav_menus( array( 'newhomeheadermenu' => 'New Home Header Menu', ) );要是没这段代码,菜单位置就不会出现在「菜单设置」里,自然没法分配显示。
内容来源于stack exchange

