wie man ein WPQuery-Array mit einem PHP-Array zusammenführt und den Loop zur Ausgabe des Ergebnisses verwendet

Ich habe eine weitgehend normale WP_Query (3 Post-Typen erhalten) für die Verwendung auf einer Blog-Seite. Das funktioniert großartig.

Der Kunde möchte, dass die Instagram-Bilder aufgenommen und nach Datum sortiert werden. Ich habe alle Instagram-Code-Setup und funktioniert gut erstellen ein separates Array. Der Vorbehalt ist, dass ich dieses Instagram Posts Array in ein Array mit ähnlichen Schlüsseln für Felder wie veröffentlicht formatieren muss.

Ich möchte diese Arrays zusammenführen und die WP-Schleife zur Ausgabe verwenden. scheint wie eine Strecke, aber ich dachte, ich würde fragen.

Solutions Collecting From Web of "wie man ein WPQuery-Array mit einem PHP-Array zusammenführt und den Loop zur Ausgabe des Ergebnisses verwendet"

Technisch können Sie Dinge in eine Schleife zusammenführen, indem Sie ihr Feld ” posts manipulieren (z. B. $wp_query->posts für die Hauptabfrage). WP hat es in der public für Sichtbarkeit und Zugang, wie es tendenziell ist.

Es ist jedoch nicht diese übliche Technik, weniger wenn Sie darüber nachdenken, etwas zu injizieren, das nicht wirklich Posts ist.

Es ist üblicher, dass eine solche Ausgabe zusätzliche Daten innerhalb der Schleifeniterationen prüft und ausgibt. Das typischste Beispiel ist der Zugriff auf $wp_query->current_post counter, um Dinge wie “Ausgabe nach jedem dritten Post” zu tun. Aber es liegt an Ihnen wirklich zu prüfen, was und welche Logik zu integrieren.

Sie müssen die Arrays nicht zusammenführen, um sie in einer Schleife zu verwenden. Sie benötigen nur einen ähnlichen Schlüssel, den Sie als Hash-Lookup verwenden können. wp_list_pluck kommt wp_list_pluck .

 // Image Data $instagrams = array ( array ( 'post_id' => 1, 'image' => 'http://placekitten.com/200/300', ), array ( 'post_id' => 2, 'image' => 'http://placekitten.com/200/300', ), array ( 'post_id' => 3, 'image' => 'http://placekitten.com/200/300', ), ); // Transform the array where post_id is the key $hash = wp_list_pluck( $instagrams, 'image', 'post_id' ); // WP_Query arguments $args = array ( 'post_type' => array ( 'post' ), 'post_status' => array ( 'publish' ), 'posts_per_page' => '3', ); // The Query $query = new WP_Query( $args ); // The Loop if ( $query->have_posts() ) { while( $query->have_posts() ) { $query->the_post(); // the ID from the post $post_id = get_the_ID(); // becomes the key to the image array if ( isset( $hash[ $post_id ] ) ) { $image = $hash[ $post_id ]; echo $image; } } } wp_reset_postdata(); 

Andere Techniken umfassen die Verwendung eines Arrays für die Schleife mit get_posts , benutzerdefinierte Sortierung mit usort oder die Wiederverwendung von Loops mit rewind_posts – hängt nur davon ab, wie clever Sie sein möchten.