@stichii

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

Добрый день! В каждой категории товара должно быть свое меню. Используем плагин Woocommerce.
Для того чтобы вывести меню соответсвующей категории товара, использую конструкцию
if( has_term( $term, $taxonomy, $post ) ){
	 ... 
}

В итоге получилось
<?php
		if ( has_term( 'primer', 'product_cat' )) {
			$args = array(
				'theme_location' => 'sidebar-menu',
				'menu_class' => 'sidebar-nav',
			);
			wp_nav_menu($args);
		}
		else{
			$args = array(
				'theme_location' => 'sidebar-menu-2',
				'menu_class' => 'sidebar-nav',
			);
			wp_nav_menu($args);
		}
	; ?>

Название таксономии в документации woocomerce https://docs.woocommerce.com/document/installed-ta...
Вот только почему то не работает эта конструкция. Не подскажите почему?
  • Вопрос задан
  • 582 просмотра
Решения вопроса 1
Palych_tw
@Palych_tw
Типа веб-разработчик
Потому что функция has_term проверяет наличие термина у поста. "Если пост имеет категорию "пример"" - вы вот это проверяете. А если функция еще и не внутри цикла, то нужно передавать ID поста. Вам нужно использовать is_tax();
Вот так
if ( is_tax( 'product_cat', 'primer' )) {
      $args = array(
        'theme_location' => 'sidebar-menu',
        'menu_class' => 'sidebar-nav',
      );
      wp_nav_menu($args);
    }
    else{
      $args = array(
        'theme_location' => 'sidebar-menu-2',
        'menu_class' => 'sidebar-nav',
      );
      wp_nav_menu($args);
    }
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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