Meta_query mit oder ohne Wert

Ich verwende WP_Query, um den Post nach Benutzereingaben zu sortieren. Die Eingabe enthält einen Meta-Wert, der im Auswahlfeld angezeigt wird.

Normalerweise, wenn Wert in das Formular eingefügt wird, funktioniert die wp_query gut. Aber wie wäre es, wenn der Benutzer alle Beiträge sortieren möchte, unabhängig davon, was der Meta-Wert ist?

Hier ist was ich meine:

//this is my input form  Show all //if user select this, show all post, regardless the rating 1 2 3  //here is for WP_Query $args = array( 'post_type'=>array('listing','renting'), 'posts_per_page'=> 6, 'order' => 'DESC', 'meta_query' => array( 'relation' => 'AND', array( 'key' => 'rating', 'value' => $_GET['rating']//here is what I don't understand, what if no value in this field?is it take the value as "0"? ), ...... ), 

Wie Sie sehen, gibt es im Auswahlformular eine Option, die alle Beiträge unabhängig von der Bewertung anzeigt. Wie soll ich das tun?

Vielen Dank

Solutions Collecting From Web of "Meta_query mit oder ohne Wert"

überprüfe, ob $ GET [‘rating’] gesetzt ist (isset ($ _ GET [‘rating’]) oder einen Wert hat. (! empty ($ _ GET [‘rating’])

Wenn nicht, erstellen Sie die Abfrage, die den gesamten Post ohne “Meta-Abfrage” bearbeitet.

beispielsweise:

 if ( (isset($_GET['rating']) && !empty($_GET['rating']) ) { // restrict $meta[] = array(( 'key' => 'rating', 'value' => $_GET['rating'] ); } if ( (isset($_GET['tax']) && !empty($_GET['tax']) ) { $meta[] = array(( 'key' => 'tax', 'value' => $_GET['tax'] ); } $args = array( 'post_type'=>array('listing','renting'), 'posts_per_page'=> 6, 'order' => 'DESC', 'meta_query' => array( 'relation' => 'AND', $meta ) ); 

Warnung: Ich habe den neuen Code nicht getestet, daher könnte die Meta- meta_query Zeile die Abfrage meta_query , wenn $ meta leer ist.