我正在努力弄清楚如何将自己的类名添加到我的wp_nav_menu中。我有一个自定义的walker菜单设置来更改UL名称,但是如何将css类添加到一层和两层深的li?
我希望我的菜单看起来像这样:
<ul>
<li class="top_level_class">One</li>
<li class="top_level_class">Two
<ul>
<li class="second_level_class">Hi</li>
</ul>
</li>
</ul>
我的自定义助行器看起来像这样:
class My_Walker_Nav_Menu extends Walker_Nav_Menu {
function start_lvl(&$output, $depth) {
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<ul class=\"nav-main-sub-list\">\n";
}
}
但是这只是在UL两个级别上跳出课程。我很困惑如何在LI的一级和两级深度添加课程。有什么建议吗?
答案 0 :(得分:1)
您可以使用$ depth参数来确定LI元素是否位于顶级或二级UL中,例如顶级中的项目的深度为0,第二级别的深度为1 。
您需要修改start_el方法。见下文,希望能让你入门
class My_Walker_Nav_Menu extends Walker_Nav_Menu {
function start_lvl(&$output, $depth) {
$indent = str_repeat("\t", $depth);
$output .= "\n$indent<ul class=\"nav-main-sub-list\">\n";
}
function start_el(&$output, $item, $depth, $args) {
...
if($depth == 1) {
$class_names = ' class="second_level_class"';
} else {
$class_names = ' class="top_level_class"';
}
$output .= $indent . '<li' . $class_names . '>';
...
}
}
有关于自定义Walker类的更多信息,请点击此处: https://wordpress.stackexchange.com/questions/116708/customizing-walker-nav-menu http://code.tutsplus.com/tutorials/understanding-the-walker-class--wp-25401
答案 1 :(得分:0)
请按照以下步骤操作,我认为这可能会对您有所帮助。
http:// www.xyz.com/wp-admin/nav-menus.php
查看屏幕顶部,您会看到&#34; Screen Oprions&#34;按钮并单击此按钮并检查&#34; CSS类&#34;选项。
之后你可以给另一个你自定义的CSS课程。