Ich verwende ein Netzwerk mit mehreren Standorten und habe eine SQL-Abfrage eingerichtet, die swith_to_blog () verwendet. und fragt die Beiträge ab.
Gibt es eine Möglichkeit, die Abfrage in einer neuen WP_Query zu deklarieren und diese Abfrage tatsächlich mit einer anderen zusammenzuführen?
Grundsätzlich, wenn ich das mache:
$number1 = new WP_Query($multisitequery);
Kann ich es zusammenführen mit:
$number2 = new WP_Query($normalquery);
$normalquery
Enthält Einstellungen wie Paginierung, pro Seite, Auszug, Titel usw. für einen Portfolio-Shortcode.
Ich möchte, dass abgefragte Beiträge aus meiner neuen $multisite
Abfrage aufgenommen werden.
Kann das erreicht werden? Ich möchte mich nur davor bewahren, ein ganz neues Shortcode-Setup zu erstellen. Lol
Vielen Dank im Voraus. Rory
BEARBEITEN ========
Was ich habe ist:
$portfolio = array();
$portfolio = $settings;
Weiter unten in meiner Portfolio-Funktion "nach all den $ Einstellungen ['Optionen']" habe ich:
$portfolio_query = new WP_Query( $portfolio );
Das $portfolio_query
verwendet eine Schleife für eine Seitenvorlage.
Ich möchte eine zusätzliche Abfrage hinzufügen, wie folgt:
global $wpdb, $blog_id, $post;
$blogs = $wpdb->get_results( $wpdb->prepare( "SELECT * FROM wp_blogs ORDER BY blog_id" ) );
$globalcontainer = array();
foreach ($blogs as $blog){
switch_to_blog($blog->blog_id);
$globalquery = query_posts($args);
$globalcontainer = array_merge( $globalcontainer, $globalquery );
restore_current_blog();
}
wo ich annehme, dass $globalcontainer
das das Array wäre, um in das zu verschmelzen wp_query();
.
Wenn Sie also berücksichtigen, worauf Sie geantwortet haben, könnte ich theoretisch einfach:
$mergedqueryargs = array_merge($portfolio , $globalcontainer);
$portfolio_query = new WP_query($mergedqueryargs);
Wäre das richtig?
Zweitens in Bezug auf das Überschreiben des Array-Schlüssel-Array-Schlüssels ..... Wie würde ich vorgehen, um ein Überschreiben zu stoppen?
Im Allgemeinen füge ich ihre ID-Arrays zusammen und mache eine dritte Abfrage. Um die ersten Abfragen billig zu halten, gebe ich ihre IDs nur mit den folgenden Feldparametern zurück:
Hoffe das hilft
---BEARBEITEN---
Nach meiner Antwort wird die ursprüngliche Frage für Details an mehreren Standorten bearbeitet. Bei Post-Merges mit mehreren Standorten funktioniert dies nicht.
quelle
'orderby' => 'post__in'
in der letzten Abfrage verwenden.Also, wenn Sie dies haben:
Ich nehme an, Sie definieren diese irgendwo zuvor?
... in diesem Fall, um die beiden Abfragen zusammenzuführen, nur
array_merge()
die beiden Arrays, bevor Sie sie annew WP_Query()
folgende Adresse übergeben :Beachten Sie, dass die Reihenfolge beim
array_merge()
Anruf wichtig ist . Wenn beide denselben Array-Schlüssel haben, überschreibt das zweite Array das erste Array.quelle