如何移除WordPress三级及以上嵌套子菜单的父页面链接
解决WordPress嵌套子菜单URL带父页面路径的问题
方法一:手动设置自定义菜单链接
- 进入WordPress后台,打开「外观」→「菜单」
- 找到需要修改的子菜单项(比如Website Design),点击展开
- 勾选「自定义链接」选项,在URL输入框直接填写
xyz.com/website-design,替换默认生成的带services/前缀的链接 - 保存菜单即可生效
方法二:修改页面的固定链接
- 如果子菜单项对应独立页面,进入「页面」列表找到目标页面
- 点击「快速编辑」,在「固定链接」栏将路径修改为
website-design,删除前面的services/前缀 - 更新页面后,刷新菜单(若菜单为自动同步页面,可能需要重新添加该页面到菜单)
方法三:用代码过滤菜单输出(适合有开发基础的用户)
- 打开主题的
functions.php文件(建议使用子主题,避免主题更新后代码丢失),添加以下代码:
add_filter('nav_menu_link_attributes', 'custom_menu_remove_parent_path', 10, 3); function custom_menu_remove_parent_path($atts, $item, $args) { // 仅处理包含/services/的链接,可根据实际父路径修改匹配规则 if (strpos($atts['href'], '/services/') !== false) { $atts['href'] = str_replace('/services/', '/', $atts['href']); } return $atts; }
- 保存文件后刷新前端页面,菜单链接会自动去掉父路径前缀
内容的提问来源于stack exchange,提问作者Ashish
相关产品推荐
相关产品推荐

