@agletd

Как получить товары с заданным атрибутом woocommerce?

Привет! Допиливаю фильтр товаров по атрибутам. После выбора первого атрибута в форме, нужно получить список товаров с этим атрибутом. Но запрос выдает пустой результат, когда добавляю tax_query. Код находится в functions.php

$newquery = new WP_Query( array(
        'post_type'             => 'product',
           'posts_per_page'        => '22',
           'post_status' => 'publish',
           'tax_query' => array( array(
               'taxonomy' => 'pa_chrisi', // Product attribute taxonomy: always start with 'pa_'
               'field'    => 'term_id', // Can be 'term_id', 'slug' or 'name'
               'terms'    => 170,
           ), ),
    
    ) );


Я проверял БД по таксономии pa_chrisi. Я пробовал
- сделать init woocommerce (правда не совсем понял зачем) перед моим кодом.
- добавлял в запрос 'suppress_filters' => true, и 'include_children' => false,

echo $newquery->request; выводит:
SELECT SQL_CALC_FOUND_ROWS dmg0j_posts.ID FROM dmg0j_posts WHERE 1=1 AND ( 0 = 1 ) AND dmg0j_posts.post_type = 'product' AND ((dmg0j_posts.post_status = 'publish')) GROUP BY dmg0j_posts.ID ORDER BY dmg0j_posts.post_date DESC LIMIT 0, 22


Если удалить tax_query то все работает, выводятся все продукты.
Может как-то обойти проблему? В целом логика: в форме 3 select-a выбираем первый атрибут - во втором выводим только те варианты атрибута, которые есть у товаров содержащих 1ый атрибут. Если эту проверку не проводить а давать выбрать во всех трех select-ах любой атрибут то в 90% случаев поиск ничего не даст и человек уйдет.

Помогите коллеги! Первый раз пишу)) Обычно гуглю все сам. Голову сломал, спать не могу, есть не могу!
  • Вопрос задан
  • 17 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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