製品フィルタを作成していますが、このクエリを正しく機能させる方法を見つけようとしています。このクエリに一連の用語(woocommerce製品属性)を入力できるようにする必要があります。また、 all 個の用語が含まれている製品を返すようにする必要があります。
これまでのところ、それはいずれかの用語を持つ製品を返すようです。任意の提案は大歓迎です。
これが私がこれまでに持ってきた議論です:
$selectedOptions = array('test-attribute', 'test3');
$args=array(
'post_type' => 'product',
'post_status' => 'publish',
'posts_per_page' => -1,
'tax_query' => array(
array(
'taxonomy' => 'pa_filterable-attribute',
'terms' => $selectedOptions,
'field' => 'slug',
'operator' => 'IN'
)
)
);
それが重要であればそしてここに私のループです:
$my_query = null;
$my_query = new WP_Query($args);
if( $my_query->have_posts() ) {
woocommerce_product_loop_start();
woocommerce_product_subcategories();
while ($my_query->have_posts()) : $my_query->the_post(); ?>
<?php wc_get_template_part( 'content', 'product' ); ?>
<?php endwhile;
woocommerce_product_loop_end();
}
wp_reset_query();
下記のようにあなたの演算子を 'AND'に変えることはうまくいくと信じています:
$selectedOptions = array('test-attribute', 'test3');
$args=array(
'post_type' => 'product',
'post_status' => 'publish',
'posts_per_page' => -1,
'tax_query' => array(
array(
'taxonomy' => 'pa_filterable-attribute',
'terms' => $selectedOptions,
'field' => 'slug',
'operator' => 'AND'
)
)
);