Wordpress 添加';主动';在wp_导航_菜单中将类设置为父类的父类

Wordpress 添加';主动';在wp_导航_菜单中将类设置为父类的父类,wordpress,nav,Wordpress,Nav,我想在活动菜单项的祖先中添加“活动”类 我发现了这段代码,但它将类添加到父级,即使在不活动的孙子级时也是如此 add_filter( 'wp_nav_menu_objects', 'add_menu_parent_class' ); function add_menu_parent_class( $items ) { $parents = array(); foreach ( $items as $item ) { if ( $item->men

我想在活动菜单项的祖先中添加“活动”类

我发现了这段代码,但它将类添加到父级,即使在不活动的孙子级时也是如此

    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-post-祖先的父菜单项,请执行以下操作:

$('.li.current-post-ancestor').parent().parent().addClass('active');
注意,第一个父元素()带您到父元素ul,第二个父元素()带您到ul的li父元素

我总是喜欢用PHP做一些事情,但有时候用jQuery来破解要容易得多!你可能会变得很花哨,写一篇文章,但那是一项艰巨的工作