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

wp_nav_menu添加items_wrap参数后菜单输出位置错位如何解决?

问题原因

你的问题核心是wp_nav_menu的echo参数使用错误,具体逻辑如下:

  • 当你给wp_nav_menu传入'echo' => false参数时,函数不会直接输出菜单HTML,而是将生成的菜单HTML作为字符串返回。你当前的代码仅调用了函数,没有使用echo输出返回结果,所以菜单内容不会在你写代码的div容器位置输出。
  • 你观察到「不加items_wrap时输出正常」,大概率是你测试无items_wrap参数的场景时,没有设置'echo' => false,函数直接在调用位置输出了内容,所以位置符合预期。
修复方案

你可以选择两种方案修复,第一种是保留'echo' => false配置,手动输出返回的菜单字符串:

<li>
     <div class="dropdown-menu" aria-labelledby="navbarDropdown">

          <?php 
               echo wp_nav_menu(array(
                   'theme_location' => 'header_menu_location',
                   'echo' => false,
                   'items_wrap' => '%3$s'
                ));
          ?>
                        
    </div>
</li>

第二种是直接修改echo参数为默认值true,让函数自动输出内容:

<li>
     <div class="dropdown-menu" aria-labelledby="navbarDropdown">

          <?php 
               wp_nav_menu(array(
                   'theme_location' => 'header_menu_location',
                   'echo' => true,
                   'items_wrap' => '%3$s'
                ));
          ?>
                        
    </div>
</li>

内容的提问来源于stack exchange,提问作者Odai A. Ali

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:27:05