从wp_nav_menu的输出中删除包装的div和ul


17

我正在使用新的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,我一直在尝试几种方法和google,但没有结果:(

Answers:


28

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

对于该<ul>元素,有一个称为的参数'items_wrap'。有关该信息的更多信息,请参见woodchucky的答案(并投票赞成!)。


非常感谢男人!现在可以使用了。我不熟悉PHP,也不知道我需要将add_filter放到functions.php中。

1
但这仍然不能解释如何删除div,而是将上面介绍的wrap_class打包。设置为false的容器参数无效。
sergio

2
如果该container参数无效,则表示您没有使用wp_nav_menu。您可能正在运行后备cb(默认为)wp_page_menu(),因为未指定菜单或带有已分配菜单的菜单位置。
John P Bloch


5

为了仅输出li's,请将其添加到wp_nav_menu数组中:

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

2

'container' => false对我来说失败了,因为我指定了一个不存在的'theme_location''menu'。我修复此问题后,它立即起作用。

解决方案来自:wordpress.org/support


0

要过滤掉包装的div:

add_filter('wp_nav_menu_args', 'prefix_nav_menu_args');
function prefix_nav_menu_args($args = ''){
    $args['container'] = false;
    return $args;
}
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.