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

求助:如何在Elementor Pro导航栏实现桌面与移动端差异化菜单

解决Elementor Pro Nav Menu分设备显示菜单项的方案

方案一:CSS响应式隐藏(最简单易操作)

  1. 给目标菜单项添加自定义CSS类
    • 进入WordPress后台「外观」→「菜单」,点击右上角「屏幕选项」,勾选「CSS类」
    • 给需要仅桌面显示的菜单项添加desktop-only类,仅移动端显示的添加mobile-only类
  2. 添加响应式CSS
    • 在Elementor编辑器中,选中页面的Nav Menu元素,打开「高级」选项卡,在「自定义CSS」中粘贴以下代码:
/* 桌面端隐藏移动端专属菜单项 */
@media (min-width: 768px) {
    .mobile-only {
        display: none !important;
    }
}

/* 移动端隐藏桌面端专属菜单项 */
@media (max-width: 767px) {
    .desktop-only {
        display: none !important;
    }
}

(注:768px是Elementor默认的移动端断点,可根据需求调整)

方案二:通过钩子替换Elementor导航菜单(精准切换完整菜单)

如果需要完全切换两个不同的菜单(而非隐藏部分项),可以用Elementor的钩子修改Nav Menu的渲染参数:

  1. 将以下代码添加到子主题的functions.php文件中,或者用代码片段插件导入:
add_filter( 'elementor/widget/nav_menu/args', 'switch_elementor_nav_menu_by_device', 10, 2 );
function switch_elementor_nav_menu_by_device( $args, $widget ) {
    // 可选:指定仅作用于某个特定Nav Menu组件,替换成你的组件ID
    // if ( $widget->get_id() !== 'nav-menu-123' ) return $args;
    
    if ( wp_is_mobile() ) {
        $args['menu'] = 'mobile-menu'; // 替换为你的移动端菜单名称/ID
    } else {
        $args['menu'] = 'desktop-menu'; // 替换为你的桌面端菜单名称/ID
    }
    return $args;
}
  1. 保存后,Elementor的Nav Menu会根据访问设备自动加载对应的菜单

方案三:使用Elementor自定义菜单模板(进阶)

如果需要更灵活的菜单样式,可创建两个不同的Nav Menu模板:

  1. 在Elementor中分别创建桌面版和移动端的头部菜单模板
  2. 用Elementor Pro的「条件显示」功能,给桌面模板设置仅在桌面设备显示,移动端模板仅在移动设备显示
  3. 将两个模板插入到网站头部区域

内容的提问来源于stack exchange,提问作者Peter Peperoni

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 18:22:14