@SmartBalance

Поиск товаров в текущей категории WooCommerce?

Необходимо, чтобы поиск по товарам происходил именно по категории, в которой человек находится. пример:
Все категории(чтобы искало по всем категориям) - > Honda(поиск только по категории) - > CBR1000RR 08-11(поиск только по категории)


Кто-нибудь сталкивался с данной задачей или может помочь разобраться?
Создал в форме поиска WooCommerce дополнительное поле:

<input type="hidden" name="product_cat" value="???" />

А вот как определять текущую категорию, чтобы передавать этот параметр в value, не знаю.
Не силен в php, но этот код мне не подходит:

<?php global $product; //Если не объявлен ранее. Не уверен в необходимости.
global $post;
$categories = get_the_terms( $post->ID, 'product_cat' );
foreach ($categories as $category) {
    echo $category->slug; //Может быть в нескольких категориях
} ?>
  • Вопрос задан
  • 487 просмотров
Пригласить эксперта
Ответы на вопрос 2
Punkie
@Punkie
<?php
global $wp_query;
$current_cat_id = $wp_query->get_queried_object()->term_id;
?>
<input type="hidden" name="product_cat" value="<?=$current_cat_id?>" />
Ответ написан
Комментировать
@SmartBalance Автор вопроса
Спасибо, но ваше решение выводит имя категории только на страницах категорий, а мне также нужно на странице товара. Не пойму, почему. Как исправить, уважаемые эксперты?

<?php
global $wp_query;
$current_cat_name = $wp_query->get_queried_object()->slug;
if (is_product()) {
  echo '<input type="hidden" name="product_cat" value="'. $current_cat_name .'" />';
} elseif (is_product_category()) {
  echo '<input type="hidden" name="product_cat" value="'. $current_cat_name .'" />';
} else {
  echo '';
}
?>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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