WordPress子页面mmenu小屏幕下点击后面板为空问题求助
检查mmenu初始化的路径与选择器
- 子页面URL路径和首页不同,mmenu可能因选择器错误或路径问题找不到菜单元素。进mmenu设置面板,确认菜单选择器用的是全局有效ID(比如
#primary-menu),别用依赖页面层级的选择器。 - 如果是自定义代码初始化,确保选择器准确,比如:
jQuery(document).ready(function() { jQuery("#primary-menu").mmenu(); }); - 检查插件设置里有没有“仅在首页加载”的选项,有的话关掉,保证所有页面都加载mmenu初始化脚本。
- 子页面URL路径和首页不同,mmenu可能因选择器错误或路径问题找不到菜单元素。进mmenu设置面板,确认菜单选择器用的是全局有效ID(比如
修复FSE主题的菜单区块渲染
- Twenty Twenty-Three是FSE主题,子页面的菜单区块可能没正确输出结构。进站点编辑器打开全局Header模板,确认菜单区块关联的是主菜单,不是首页专属菜单。
- 检查菜单区块的可见性设置,别加“仅在首页显示”的规则。
- 试试删掉现有菜单区块,重新插入“导航”区块并关联主菜单,保存模板后刷新子页面测试。
调整脚本加载顺序
- 子页面可能因为脚本加载太早,mmenu初始化时菜单元素还没渲染好。进mmenu设置把脚本加载位置从“页眉”改到“页脚”,等DOM加载完再初始化插件。
- 自定义代码的话,改成DOMContentLoaded事件触发:
window.addEventListener('DOMContentLoaded', () => { const menu = new Mmenu('#primary-menu'); });
清除缓存并调试
- 清掉WordPress的页面缓存、插件缓存,还有浏览器缓存,避免旧缓存搞事。
- 开WordPress调试模式,在
wp-config.php里加这段代码:
去define('WP_DEBUG', true); define('WP_DEBUG_LOG', true);wp-content/debug.log里看有没有菜单渲染或mmenu脚本的错误,针对性修复。
排查插件冲突
- 临时禁用其他所有插件,只留mmenu,测试子页面菜单是否正常。如果正常,逐个启用插件找冲突的那个。
- 试试把mmenu更到最新版,或者回退到上一个稳定版,排除版本兼容问题。
内容的提问来源于stack exchange,提问作者laluluny
相关产品推荐
相关产品推荐

