问题描述

我正在使用 Wordpress 的新菜单系统,这里是 wp_nav_menu() 的结果

    <div class="menu-main-menu-container">
   <ul id="menu-main-menu" class="menu">
   <li id="menu-item-28" class="menu-item menu-item-type-post_type current-menu-item page_item page-item-21 current_page_item menu-item-28"><a href="http://www.bemang.com/">Trang nhà</a></li>
    <li id="menu-item-29" class="menu-item menu-item-type-post_type menu-item-29"><a href="http://www.bemang.com/blog/">Blog</a></li>
    <li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-30"><a href="http://www.bemang.com/gioi-thieu/">Giới thiệu</a></li>
    </ul>
   </div>

我想要的只是这样:

<li id="menu-item-28" class="menu-item menu-item-type-post_type current-menu-item page_item page-item-21 current_page_item menu-item-28"><a href="http://www.bemang.com/">Trang nhà</a></li>
   <li id="menu-item-29" class="menu-item menu-item-type-post_type menu-item-29"><a href="http://www.bemang.com/blog/">Blog</a></li>
   <li id="menu-item-30" class="menu-item menu-item-type-post_type menu-item-30"><a href="http://www.bemang.com/gioi-thieu/">Giới thiệu</a></li>

不,包装 div 或 ul,我一直在尝试几种方式和谷歌,但没有结果:(

最佳解决方案

包装 div 很容易。当您使用 wp_nav_menu()时,添加此参数:'container' => false

对于<ul> 元素,有一个名为'items_wrap'的参数。有关更多信息,请参阅 woodchucky’s answer(和 upvote!) 。

次佳解决方案

wp_nav_menu()接受未记录的参数

‘items_wrap’ => ‘<ul id="%1$s" class="%2$s">%3$s</ul>

$nav_menu .= sprintf( $args->items_wrap, esc_attr( $wrap_id ), esc_attr( $wrap_class ), $items ); 执行

你可以玩 sprintf 参数

例如:’items_wrap’ => ‘%3$s’ 将删除包装<ul> 标签

第三种解决方案

仅输出 li,将其添加到 wp_nav_menu 数组中:

'container'      => '',
'items_wrap'    => '%3$s',

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。