Filtern und Sortieren nach mehreren benutzerdefinierten Metawerten

Ich versuche, einen benutzerdefinierten Post-Typ abzufragen, nach einem benutzerdefinierten Meta-Wert zu sortieren und nur Posts mit einem anderen benutzerdefinierten Meta-Wert anzuzeigen.

Ich bin in der Lage, beides unabhängig voneinander zu tun, aber nicht beides gleichzeitig.

Hier ist der aktuelle Code.

$args = array( 'posts_per_page' => -1, 'post_type' => 'shows', 'orderby' => 'meta_value_num', 'meta_key' => 'start_date', 'order' => 'ASC', 'meta_query' => array( array( 'meta_key' => 'show_location', 'meta_value' => 'second' ) ) ); // get results $the_query = new WP_Query( $args ); 

Mein neuer Code als Ergebnis der Antwort unten:

 $args = array( 'posts_per_page' => -1, 'post_type' => 'shows', 'orderby' => 'meta_value_num', 'meta_key' => 'start_date', 'order' => 'ASC', 'meta_query' => array( array( 'key' => 'show_location', 'value' => 'second' ) ) ); 

Solutions Collecting From Web of "Filtern und Sortieren nach mehreren benutzerdefinierten Metawerten"

Für mehrere Meta-Werte müssen Sie “IN” verwenden

 $args = array( 'posts_per_page' => -1, 'post_type' => 'shows', 'orderby' => 'meta_value_num', 'meta_key' => 'start_date', 'order' => 'ASC', 'meta_query' => array( array( 'key' => 'show_location', 'value' => array('second','third'), 'compare' => 'IN' ) ) ); // get results $the_query = new WP_Query( $args ); 

Der IN-Vergleich prüft, ob der Post mit den Werten verfügbar ist, die im Array ‘meta_value’ vorhanden sind.