【问题标题】:Highlight current post ancestor parent menu items突出显示当前后祖先父菜单项
【发布时间】:2019-06-12 17:57:57
【问题描述】:

第 1 页 第2页 第一类 第 3 页

因此,当类别 1 处于活动状态时,页面 2 获得 .current-menu-ancestor,这很好……但是一旦查看类别 1 的帖子,页面 2 就没有特定的类别……但是类别 1 具有 .current-menu-ancestor正如预期的那样。

所以最后的问题是:我如何为这些 .current-post-ancestor 父母分配一个班级?

我正在寻找 PHP 解决方案。 Javascript/jQuery 很清楚……这是一个 jQuery 解决方案,可以更好地理解我想要做什么(对于那些有同样问题并且对 JS 解决方案感到满意的人):

jQuery('li.current-post-ancestor').parents('li.menu-item').addClass('current-menu-ancestor');

【问题讨论】:

    标签: javascript menu submenu


    【解决方案1】:

    这可能就是你要找的。​​p>

    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;    
    }
    

    它将向当前的post 祖先菜单项父项添加一个class。我已经在我的主题中尝试过了,它运行良好。

    【讨论】:

    • 它运行良好。感谢您的宝贵意见。
    猜你喜欢
    • 2021-04-07
    • 1970-01-01
    • 2013-11-18
    • 2012-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-05
    • 1970-01-01
    相关资源
    最近更新 更多