加入“主动”类于母公司的母公司在wp_nav_menu
问题描述:
我要“主动”类添加到活动菜单项的祖先加入“主动”类于母公司的母公司在wp_nav_menu
我发现这个代码,但它添加类的父甚至当不积极孙子
add_filter('wp_nav_menu_objects', 'add_menu_parent_class');
function add_menu_parent_class($items) {
$parents = array();
foreach ($items as $item) {
if ($item->menu_item_parent && $item->menu_item_parent > 0) {
$parents[] = $item->menu_item_parent;
}
}
foreach ($items as $item) {
if (in_array($item->ID, $parents)) {
$item->classes[] = 'menu-parent-item';
}
}
return $items;
}
如何使其按功能?
答
您可以使用jQuery:
要在当前类添加到li.current-后祖先的父菜单项:
$('.li.current-post-ancestor').parent().parent().addClass('active');
注意,第一个父()将带您到父ul元素,第二个父()将您带到ul的李父母。
我总是喜欢在PHP中做一些事情,但有时在jQuery中使用它更容易!你可能会很喜欢,写一个custom menu walker,但这是很多工作。