@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; //Может быть в нескольких категориях
} ?>
  • Вопрос задан
  • 484 просмотра
Пригласить эксперта
Ответы на вопрос 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 '';
}
?>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
Бюро Цифровых Технологий Санкт-Петербург
от 120 000 до 180 000 ₽
03 мая 2024, в 14:40
1000 руб./за проект
03 мая 2024, в 14:39
500 руб./за проект