我正在使用Wordpress'wp_nav_menu
来显示我的主导航。
然而,尝试在wordpress中重新创建以下HTML片段似乎相当复杂。
这是HTML版本(wordpress样式表中的类已经过调整,目标是wordpress使用的那些):
<ul class="nav">
<li class="home"><a href="#">Home</a></li>
<li><a href="#">Store</a>
<div class="subnav">
<div class="holder">
<ul class="child">
<li><a href="#">Category 1</a>
<ul class="grandchild">
<li><a href="#">Sub-category 1</a></li>
</ul>
</li>
<li><a href="#">Category 2</a>
<ul class="grandchild">
<li><a href="#">Sub-category 1</a></li>
<li><a href="#">Sub-category 2</a></li>
</ul> <!-- Grandchild -->
</li>
</ul> <!-- Child nav -->
</div> <!-- Holder -->
</div> <!-- Subnav -->
</li></ul><!-- nav -->
wordpress中的问题是我使用助行器在我的第一个子菜单周围添加div,以保持一切就绪。但是这样,它会将2个div(subnav和holder)添加到后面的每个子菜单中。
如何编辑下一个深度级别 - 不添加2个div - 编辑子菜单的类名
function start_lvl( &$output, $depth = 0, $args = array() ) {
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<div class=\"subnav\" ><div class=\"holder\"><ul class=\"sub-menu\">\n";
function end_lvl( &$output, $depth = 0, $args = array() ) {
$indent = str_repeat("\t", $depth);
$output .= "$indent</ul></div></div>\n";
答案 0 :(得分:0)
为什么需要在子菜单中添加类以使用CSS定位它们?你不能只做这样的事情:
#nav > li a {
/* Target first level */
}
#nav > li > ul > li a {
/* Target second level */
}
#nav > li > ul > li > ul > li a {
/* Target third level */
}
这是一个说明概念的方法:http://jsfiddle.net/3XtkE/