meta_key und meta_value arbeiten nicht zusammen

Ich versuche, die Schleife zu filtern, um Pfosten zu finden, die einen meta_key mit einem spezifischen meta_value . Ich habe mir den Codex angesehen, und ich habe Folgendes ohne Glück versucht:

 // No results $args = array( 'post_type' => 'cqpp_interventions', 'posts_per_page' => '-1', 'meta_query' => array( 'relation' => 'OR', array( 'meta_key' => 'priority', /* Tried this too 'meta_value' => '80', 'compare' => '=' */ 'meta_value' => array('80'), 'compare' => 'IN' ) ) ); // No results $args = array( 'post_type' => 'cqpp_interventions', 'posts_per_page' => '-1', 'meta_key' => 'priority', 'meta_value' => 80 ); // This list me all cqpp_interventions and I can confirm that I have some with meta_value set to 80 $args = array( 'post_type' => 'cqpp_interventions', 'posts_per_page' => '-1', 'meta_key' => 'priority' ); $cqpp_posts = get_posts( $args ); 

Hier ist, wie ich innerhalb der Schleife überprüfen:

 $priority = get_post_meta( get_the_ID(), 'priority'); echo '
'; var_dump($priority); echo '

';

was dazu führt:

 search.php:16: array (size=1) 0 => array (size=1) 0 => string '80' (length=2) search.php:16: array (size=1) 0 => array (size=2) 0 => string '80' (length=2) 1 => string '91' (length=2) 

Was kann ich tun, um das zu beheben?

Solutions Collecting From Web of "meta_key und meta_value arbeiten nicht zusammen"

Von der Referenz Ihrer ersten $ Argumente

 $args = array( 'post_type' => 'cqpp_interventions', 'posts_per_page' => '-1', 'meta_query' => array( 'relation' => 'OR', array( 'meta_key' => 'priority', /* Tried this too 'meta_value' => '80', 'compare' => '=' */ 'meta_value' => array('80'), 'compare' => 'IN' ) ) ); 

Sie haben 'relation' => 'OR' hinzugefügt, was nicht benötigt wird. Die relation muss hinzugefügt werden, wenn Sie mehrere Metawerte haben, die abgefragt werden sollen. Auch compare wird nicht benötigt, wenn Sie einen bestimmten Wert haben möchten, da standardmäßig uses = .

Die aktualisierten $ args werden sein

 $args = array( 'post_type' => 'cqpp_interventions', 'posts_per_page' => '-1', 'meta_query' => array( array( 'meta_key' => 'priority', 'meta_value' => '80', // since 80 is string ) ) ); // try either of below. $myPost = new WP_Query( $args ); // fetch post and managed in objects $myPost = get_posts( $args ); // fetch post and store in array 

Hoffe, das wird dir helfen.

Vielen Dank

Du könntest das versuchen:

 $args = array( 'post_type' => 'cqpp_interventions', 'posts_per_page' => '-1', 'meta_query' => array( array( 'key' => 'priority', 'value' => '80' ) ) ); 

Das eigentliche Problem mit Ihrer Abfrage besteht darin, dass Sie meta_key und meta_value meta_key meta_value . Die Arrays in Ihrem Argument meta_query sollten jedoch stattdessen die Schlüssel key und value .

Dies würde auch funktionieren:

 'key' => 'priority', 'value' => array('80')