Mehrere Meta-Werte im pre_get_posts Filter?

Ich habe einen benutzerdefinierten Post-Typ mit benutzerdefinierten Feldern, der eine ist insbesondere “zip”. Ich habe auch ein Array, das wie 20 verschiedene Postleitzahlen speichert. Ich möchte prüfen, ob einer dieser benutzerdefinierten Post-Typen eine dieser Postleitzahlen hat. Wenn dies der Fall ist, möchte ich, dass sie in den Suchergebnissen angezeigt werden. Wenn nicht, will ich nicht, dass sie erscheinen. Wie würde ich das machen? Es macht mich wahnsinnig. Danke im Voraus.

Solutions Collecting From Web of "Mehrere Meta-Werte im pre_get_posts Filter?"

Sie müssen zwei Abfragen erstellen. Die erste wird eine sein, die alle benutzerdefinierten Post-Typen in der Suchabfrage zieht.

$args = array( 'post_type' => YOUR-POST-TYPE, 'posts_per_page' => '-1', 's' => get_search_query(), ); $sort_query = new WP_Query($args); $included_results = array(); 

Sie müssen dann wahrscheinlich Ihre Ergebnisse ausdrucken, damit Sie herausfinden können, wo sich die Postleitzahl im Array befindet.

Führen Sie die Schleife aus, überprüfen Sie, ob sich die Zip- in_array() in Ihrem Postleitzahlen-Array ( in_array() ) befindet, und fügen Sie die ID zum eingeschlossenen Ergebnis-Array hinzu (Beispiel: $included_results[] = $post->ID in_array() $included_results[] = $post->ID )

Als Nächstes möchten Sie die Abfrage beenden und zurücksetzen und eine neue Abfrage mit den gleichen Argumenten wie zuvor erstellen, aber fügen Sie 'post__in' => $included_results