WordPress中mmenu插件点击父菜单标题不更新且控制台报错求助
检查菜单容器的ID属性
确保WordPress输出的主菜单容器带有合法的ID,比如给菜单容器添加id="main-menu"。mmenu插件内部依赖菜单元素的ID生成回退按钮等节点,没有ID会导致this.node.menu为null,触发类型错误。修正mmenu初始化代码
初始化插件时必须使用带ID的选择器绑定菜单元素,示例代码:document.addEventListener("DOMContentLoaded", () => { new Mmenu("#main-menu"); });避免使用类选择器或无ID的元素选择器,否则插件无法正确获取菜单ID。
调整WordPress菜单输出参数
在主题的菜单调用代码(通常在header.php中),给wp_nav_menu添加container_id参数,强制输出带ID的容器:wp_nav_menu(array( 'theme_location' => 'primary', // 替换为你的主题菜单位置 'container_id' => 'main-menu', 'menu_class' => 'menu-items' ));排查插件/主题冲突
临时禁用所有其他插件,切换到WordPress默认主题(如Twenty Twenty-Four)测试。如果问题消失,说明是其他插件或主题的JS脚本修改了DOM结构,导致mmenu无法识别菜单节点,再逐个恢复排查冲突源。临时修复插件代码(不推荐长期使用)
如果暂时无法调整菜单结构,可在报错的代码行添加null判断,避免触发错误:const e = a(this.opts.backButton, q), t = this.node.menu ? "#" + this.node.menu.id : "";注意:插件更新后会覆盖此修改,仅作为临时应急方案。
内容的提问来源于stack exchange,提问作者JakobF
相关产品推荐
相关产品推荐

