wordpress не добавляет "link_after" - PullRequest
0 голосов
/ 14 июля 2020

У меня две функции: одна меняет классы меню, а другая добавляет link_after к пункту меню, у которого есть дочерние элементы:

add_filter('nav_menu_css_class', 'filter_nav_menu_item_css', 10, 4);
function filter_nav_menu_item_css($classes, $item, $args, $depth){
        if($args->theme_location === 'menu-1') :
            if($depth === 0){
                if(in_array('menu-item-has-children', $classes)){
                $classes = ['navigation__item', 'menu-item-has-children'];
                
                }else{
                $classes = ['navigation__item'];
                
                }
            }elseif($depth === 1){
                $classes = ['navigation-dropdown__item'];
                
            }
        endif;
        if($args->theme_location === 'menu-footer'):

            if($depth === 0){
                $classes = ['footer__col' ];
            }else{
                if($item->attr_title === '1')
                $classes = ['footer__item', 'footer__title'];
                else
                $classes = ['footer__item'];
            }
        endif;
        return $classes;
}

add_filter('nav_menu_css_class', 'filter_nav_menu_arrow',10,3);
function filter_nav_menu_arrow($classes, $args, $depth){
    if(in_array('menu-item-has-children', $classes)){
        $args->link_after = '<i class="far fa-angle-down navigation__arrow-down"></i>';
    }
    return $args;
}

Но они не работают ни одновременно, ни последовательно:

html

Может есть еще один способ добавить link_after к предметам с детьми?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...