WordPress中的默认菜单类非常有用。但我不时遇到的一个问题是,菜单中的子项是类别。例如,以下菜单结构:
第1页第2页第1类Category 1
处于活动状态Page 2
获取.current-menu-ancestor
这很好……但一旦Category 1
已查看Page 2
没有特定的类…但是Category 1
有.current-menu-ancestor
正如所料。
So finally here\'s the question: How do i assign a class for these .current-post-ancestor
parents?
我正在搜索PHP解决方案。Javascript/jQuery非常清楚……这里有一个jQuery解决方案,可以更好地理解我想要做什么(对于那些有同样问题并且对JS解决方案感到满意的人):
jQuery( \'li.current-post-ancestor\' ).parents( \'li.menu-item\' ).addClass( \'current-menu-ancestor\' );
SO网友:Raitul Islam
这可能就是你要找的。。
add_filter( \'wp_nav_menu_objects\', \'add_menu_parent_class\' );
function add_menu_parent_class( $items ) {
$parents = array();
foreach ( $items as $item ) {
if ( in_array(\'current-post-ancestor\', $item->classes) ) {
$parents[] = $item->menu_item_parent;
}
}
foreach ( $items as $item ) {
if ( in_array( $item->ID, $parents ) ) {
$item->classes[] = \'current-menu-ancestor\';
}
}
return $items;
}
它将向
current post ancestor 菜单项父项。我在我的主题中尝试过这一点,而且效果很好。