You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPML移动端下拉菜单跳转问题:如何修改其HTML结构?

解决WPML移动端下拉菜单跳转问题

方法1:通过后台菜单设置直接修改

  • 进入WordPress后台「外观」→「菜单」,找到带下拉子菜单的父级菜单项
  • 将它的URL字段改成#,保存菜单即可。如果是WPML同步的多语言菜单,记得在对应语言的菜单里做同样修改
  • 注意:这种修改会让PC端的父菜单也跳转至#,如果只需要移动端生效,看下面的代码方法

方法2:用PHP过滤器仅修改移动端菜单链接

在子主题的functions.php中添加以下代码,只针对移动端的父级菜单项修改链接:

add_filter('nav_menu_link_attributes', 'modify_mobile_parent_menu_links', 10, 3);
function modify_mobile_parent_menu_links($atts, $item, $args) {
    // 替换成你的主题移动端菜单的注册位置,比如'mobile_nav',可在主题functions.php的register_nav_menus中查看
    if ($args->theme_location == 'mobile_nav' && in_array('menu-item-has-children', $item->classes)) {
        $atts['href'] = '#';
        // 若要完全移除<a>标签,注释上面一行,启用下面的辅助函数
        // add_filter('walker_nav_menu_start_el', 'replace_parent_link_with_span', 10, 4);
    }
    return $atts;
}

// 移除<a>标签的辅助函数(按需启用)
function replace_parent_link_with_span($item_output, $item, $depth, $args) {
    if ($args->theme_location == 'mobile_nav' && in_array('menu-item-has-children', $item->classes)) {
        $item_output = str_replace('<a', '<span', $item_output);
        $item_output = str_replace('</a>', '</span>', $item_output);
    }
    return $item_output;
}
  • 优先使用子主题或代码片段插件(如Code Snippets)添加代码,避免直接修改父主题文件导致更新丢失

方法3:用JS临时阻止跳转(无需修改PHP)

如果不想碰后端代码,可在子主题footer.php末尾添加以下JS,阻止移动端父菜单的跳转行为:

<script>
document.addEventListener('DOMContentLoaded', () => {
    // 替换成你的移动端菜单父项选择器,比如'.mobile-menu .menu-item-has-children > a'
    const mobileParentLinks = document.querySelectorAll('.mobile-menu .menu-item-has-children > a');
    mobileParentLinks.forEach(link => {
        link.addEventListener('click', (e) => {
            // 按主题移动端断点调整数值,这里以768px为例
            if (window.innerWidth < 768) {
                e.preventDefault();
                // 可添加菜单展开/收起逻辑,比如:
                // link.parentElement.classList.toggle('menu-expanded');
            }
        });
    });
});
</script>

内容的提问来源于stack exchange,提问作者Tolga Yucel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 01:46:19