问题描述
<ul class="primary-menu">
<li class="menu-item">
<a href="">nav link</a>
<ul class="sub-menu"></ul>
</li>
</ul>
到
<ul class="primary-menu">
<li class="menu-item">
<div class="alignme">
<button></button><a href=""></a><button></button>
</div>
<ul class="sub-menu"></ul>
</li>
</ul>
?
我需要这种“ helper div”,因为我必须以某种方式对齐三个元素,并且与li内可能的其他内容(例如子菜单)无关。
我正在使用默认的wp_nav_menu(),作为第一次主题构建器,我不知道在哪里可以找到菜单的“设置”。你知道我应该仔细看看吗?
解决方法
在wp_nav_menu“新的Add_Div_Walker”中添加沃克类。检查我下面的代码。
$menu = array(
'theme_location' => 'primary','items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>','walker' => new Add_Div_Walker
);
wp_nav_menu( $menu );
// add this below code in your functions.php file.
class Add_Div_Walker extends Walker_Nav_Menu {
function start_lvl( &$output,$depth = 0,$args = array() ) {
$indent = str_repeat("\t",$depth);
$output .= "\n$indent<div class='alignme'>
<button></button><a href=''></a><button></button>
</div><ul class='submenu'>\n";
}
function end_lvl( &$output,$depth);
$output .= "$indent</ul>\n";
}
}