Активный класс не работает в моем главном меню в WordPress

#php #css #wordpress

#php #css #wordpress

Вопрос:

У меня есть этот HTML-код в моем главном меню: index.html

 <nav>
    <ul id="mainmenu" class="nav">
        <li>
            <a class="active" href="#">Home</a>
        </li>
        <li>
            <a href="#section-services">Services</a>
        </li>
     </ul>
</nav>
  

Я пытаюсь добавить класс «active» в ссылку активного меню.

Я попробовал следующее functions.php

 add_filter('nav_menu_css_class', 'special_nav_class', 10, 2);
    function special_nav_class($classes, $item){
        if (in_array('current_menu_item', $classes)){
            $classes[] = 'active';
        }
return $classes;
}
  

header.php

 <nav>
    <?php
        wp_nav_menu(
            array(
            'theme_location'=> 'top_menu',
            'menu' => 'main-menu',
            'container' => 'nav',
            'menu_id' => 'mainmenu',
                  )
       );
    ?>
</nav>
  

Результат выглядит следующим образом:
Поэтому я не хочу, чтобы он появлялся

Я хочу, чтобы он выглядел так: Меню, которое я хочу

Комментарии:

1. Классы в WP добавляются в li , а не в a .

2. Да, я понимаю. Но как я мог бы добавить его в <a>

3. Вам нужно будет изменить / расширить класс навигатора.

4. Я собираюсь изучить это @disinfor, большое вам спасибо!