Wie schreibe ich eine Steuerabfrage, die allen Begriffen in einem Array entspricht?

Ich erstelle einen Produktfilter, und ich habe Mühe, herauszufinden, wie diese Abfrage richtig funktioniert. Ich muss in der Lage sein, diese Frage mit einer Reihe von Begriffen (Woocommerce-Produktattribute) zu füllen, und ich brauche es, um die Produkte zurückzugeben, die alle angegebenen Bedingungen haben.

Bis jetzt scheint es die Produkte zurückzugeben, die irgendwelche der Ausdrücke haben. Irgendwelche Vorschläge würden sehr geschätzt werden.

Hier sind die Argumente, die ich bisher habe:

$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' ) ) ); 

Und hier ist meine Schleife, wenn es darauf ankommt:

 $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 endwhile; woocommerce_product_loop_end(); } wp_reset_query(); 

Solutions Collecting From Web of "Wie schreibe ich eine Steuerabfrage, die allen Begriffen in einem Array entspricht?"

Ich glaube, dass die Änderung Ihres Operators auf “AND” wie folgt funktioniert:

 $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' ) ) );