Задать вопрос
GrenadinGran
@GrenadinGran
Помог ответ - отметь решением

Как добавить активный класс родительской странице?

Здравствуйте, у меня есть навбар
<?php
// header.php
      wp_nav_menu( [
	  'menu'            => 'Navbar-mobile',
	  'menu_class'      => 'false',
	  'menu_id'         => 'false',
	  'container'       => 'false',
	  'theme_location'  => 'header_menu',
      ] );
?>


//functions.php
add_filter( 'nav_menu_css_class', 'filter_menu_items', 10, 4 );
function filter_menu_items( $classes, $item, $args, $depth ) {
	if ( $args->menu === 'Navbar' ) {
		$classes = [
			'navbar-link'
		];
		if ( $item->current ) { // Проверяем, является ли страница активной
			$classes[] = 'navbar-active';
		}
		return $classes;
	} 
}

Выводятся в этом навбаре родительские страницы, на которые вешается активный класс, если они активны. Однако, при выборе дочерней страницы, активный класс, ясное дело, у родительской страницы отпадает.
Как сделать так, чтобы при активной дочерней странице, на родительской странице оставался класс 'navbar-active'?
  • Вопрос задан
  • 121 просмотр
Подписаться 1 Простой 2 комментария
Решения вопроса 1
V_A_B
@V_A_B
¯\_(ツ)_/¯
страницы, на которые вешается активный класс
хммм зачем?
Как добавить активный класс родительской странице?

он там есть уже:
.current-menu-item > a,.current-menu-ancestor > a,.current_page_item > a,.current_page_ancestor > a{border:solid 2px #000;....

... дочерней страницы, активный класс, ясное дело, у родительской страницы отпадает

с классами по умолчанию не так:
5e023d60cad8e159132932.jpeg
Как сделать так, чтобы при активной дочерней странице, на родительской странице оставался класс 'navbar-active'?

использовать классы выше...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы