我正在寻找几乎完全在Wordpress中执行此功能的内容:
add_filter('wp_nav_menu_objects', function ($items) {
$hasSub = function ($menu_item_id, &$items) {
foreach ($items as $item) {
if ($item->menu_item_parent && $item->menu_item_parent==$menu_item_id) {
return true;
}
}
return false;
};
foreach ($items as &$item) {
if ($hasSub($item->ID, &$items)) {
$item->classes[] = 'menu-parent-item'; // all elements of field "classes" of a menu item get join together and render to class attribute of <li> element in HTML
}
}
return $items;
});
这个方便的功能将类“menu-parent-item”附加到包含子菜单的li。我想要做的是事先将相同的类(或任何其他可用的类)添加到链接中。换句话说,我最终会这样:
<li>
<a href="index.php" class="menu-parent-item">Homepage</a>
<ul class="sub-menu">
<li>
等等。有什么想法吗?
答案 0 :(得分:1)
你总是可以使用jQuery
$('ul.sub-menu').parent().addClass('menu-parent-item');
编辑好吧,通过编辑,你可以使用prev()
方法吗?
$('ul.sub-menu').prev().addClass('menu-parent-item');