@hypero

Как вывести нужный класс в зависимости от категории woocommerce?

Всем привет.

Пытаюсь вывести нужный класс в зависимости от того в какой категории находимся.
Есть такой код:
<?php 
	$home_class = '';
	if(is_product_category('dairy')) {
		$home_class = 'dairy-header';
	}
	elseif(is_product_category('home')) {
		$home_class = 'home-header';
	} elseif(is_product_category('wellness')) {
		$home_class = 'wellness-header';
	}
?>


<header class="header <?php echo $home_class; ?>">

Оно работает только если находимся в родительской категории, а в дочерних не работает.
  • Вопрос задан
  • 88 просмотров
Пригласить эксперта
Ответы на вопрос 2
Не работает, потому что дочерняя категория по другому называется

Вообще правильно классы собрать в массив, отфильтровать и вывести с помощью join()

if ( is_single() ) {
	global $post;
	foreach( get_the_category($post->ID) as $category ) {
		$classes[] = $category->category_nicename;
	}
}


Для того, чтобы понять как это работает, я советую посмотреть родные функции body_class() и post_class() или эту статью
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы