Erhalte Meta-Wert eines bestimmten Meta-Schlüssel aus allen Beiträgen, die zu einem bestimmten benutzerdefinierten Typ gehören

Ich bin mit einer Situation konfrontiert, in der ich meta_value eines spezifischen meta_key von ALLEN Pfosten holen muss, die in der WordPress database verfügbar sind. Dies führt offensichtlich zu einer großen Anzahl von databaseabfragen. So sieht es aus:

foreach ( $quiz_takers as $competitor ) { $quizzes_user_has_taken = get_post_meta( $competitor, 'quiz_results', true ); // More stuff happens here. } 

Ich habe mich gefragt, ob es eine Möglichkeit gibt, die Anzahl der Abfragen zu reduzieren, die über die get_post_meta() oben geschehen.

Die einzige Lösung, an die ich denken konnte, war, die Tabelle wp_postmeta direkt direkt abzufragen; aber nicht sicher, was der richtige Weg ist.

Würde mich wirklich freuen, wenn Sie mir in die richtige Richtung zeigen könnten. Ich danke Ihnen für Ihre Zeit im Voraus.

Solutions Collecting From Web of "Erhalte Meta-Wert eines bestimmten Meta-Schlüssel aus allen Beiträgen, die zu einem bestimmten benutzerdefinierten Typ gehören"

Abfragen wp_postmeta wäre der Weg zu gehen:

 global $wpdb; $results = $wpdb->get_col("SELECT meta_value FROM $wpdb->postmeta WHERE meta_key = 'quiz_results'"); 

Dadurch erhalten Sie eine Reihe von Werten für Quiz_Ergebnisse in allen Posts.

Nicht getestet, aber eine Meta-only WP_Query sollte den Trick machen, nicht?

Wie in:

 $args = array( 'meta_key'=>'quiz_results', ); $your_query_name = new WP_Query( $args ); 

Verwenden Sie dann die standardmäßige WP-Schleife, um die Posts abzurufen.