Я использую WP_Query
для продуктов Woocommerce в попытке запросить продукты в определенной категории. Это синтаксис, который работал у меня -
$args = array(
'posts_per_page' => -1,
'product_cat' => 'category-slug-here',
'post_type' => 'product',
'orderby' => 'title',
);
$the_query = new WP_Query( $args );
// The Loop
while ( $the_query->have_posts() ) {
$the_query->the_post();
echo '' . get_the_title() . '<br /><br />';
}
wp_reset_postdata();
Это возвращает данные, но я хочу передать идентификатор, а не категорию slug, для фильтрации, и я хочу найти продукты, которые существуют в нескольких категориях только.
Аргумент product_cat
не является родным для WP_Query
(по крайней мере, я могу найти), поэтому я предполагаю, что это что-то обычное для Woocommerce. Благодаря их документации я не смог найти ничего, что позволит мне фильтровать по идентификатору категории, а также использовать условие И для этой фильтрации.
Используя cat
, массив tax_query
и category__and
не дал никаких результатов. По сути, я хотел бы запросить все продукты, которые существуют как в категории ID 102, так и в 115. Если мне нужно использовать пули, я уверен, что есть способ получить эту информацию на основе идентификатора, который у меня есть, но я бы например, чтобы избежать 2 запросов для фильтрации по нескольким категориям.
Кто-нибудь знает, как это сделать?
ОБНОВЛЕНИЕ:. Я узнал, что разделение разрядов категорий запятыми в аргументе product_cat
приведет к эффекту "ИЛИ", поэтому он будет сочетать разные продукты от обоих, но это не то, что я я ищу. Итак, например:
'product_cat' => 'category-slug1, category-slug2'
будет возвращать продукты из обеих категорий в целом, но я все еще ищу способ найти отдельные продукты, которые ТОЛЬКО относятся к обоим или нескольким категориям.