<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搜索,但没有结果:(
#1 楼
包装div很容易。使用wp_nav_menu()
时,请添加以下参数:'container' => false
对于
<ul>
元素,有一个名为'items_wrap'
的参数。请参阅woodchucky的答案以获取有关该主题的更多信息(并投票!)。#2 楼
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>
标签评论
嘿,酷!欢迎来到WPSE @woodchucky!
– fuxia♦
2011-04-25 23:18
#3 楼
要仅输出li,请将其添加到wp_nav_menu数组中:'container' => '',
'items_wrap' => '%3$s',
#4 楼
'container' => false
对我来说失败了,因为我指定了一个不存在的'theme_location'
和'menu'
。我修复此问题后便开始起作用。解决方案来自:wordpress.org/support
#5 楼
要过滤掉包装的div:add_filter('wp_nav_menu_args', 'prefix_nav_menu_args');
function prefix_nav_menu_args($args = ''){
$args['container'] = false;
return $args;
}
评论
非常感谢男人!现在可以使用了。我不熟悉PHP,也不知道我需要将add_filter放到functions.php中。
–团安
2010-10-6 23:11
但这仍然不能解释如何删除div,而是将上面介绍的wrap_class打包。设置为false的容器参数无效。
– Sergio
2011年4月25日在21:50
如果容器参数不起作用,则意味着您不使用wp_nav_menu。您可能正在运行后备cb(默认为wp_page_menu()),原因是未指定菜单或没有分配菜单的菜单位置。
– John P Bloch
2011年4月26日在21:03