Holen Sie sich die Variable aus dem vorherigen Blog, während Sie switch_to_blog verwenden

Ich schreibe eine Abfrage, die mit switch_to_blog () zum Hauptblog einer MU-Site wechselt. Alles ist gut, außer dass ich versuche, eine wp_query zu schreiben, die eine Variable aus dem vorherigen Blog enthält. Alle Inhalte, die aus dem Hauptblog abgerufen werden, werden in einem CPT mit einer Taxonomie gespeichert, die den verschiedenen Unterblognamen entspricht. Ich versuche, bloginfo (‘name’) zu speichern; von meinem vorherigen Blog, und ziehen Sie es in die Abfrage nach switch_to_blog, aber aus offensichtlichen Gründen, kein Glück (es erhält die aktuelle Bloginfo, nicht die vorherige.) Gibt es eine Möglichkeit, entweder die vorherige bloginfo in eine globale Art zu speichern Oder um zum vorherigen Blog zurück zu wechseln, nur um die Variable Mid-Query zu erhalten?

Siehe meine Abfrage unten zur besseren Veranschaulichung:

$location = bloginfo('name'); switch_to_blog( 1 ); $the_query = new WP_Query( array( 'post_type' => 'staff', 'posts_per_page' => -1, 'tax_query' => array( array( 'taxonomy' => 'location', // name of tax 'field' => 'slug', 'terms' => $location, // this doesn't work, returns nothing ), ), ) ); ?> have_posts() ) : ?> have_posts() ) : $the_query->the_post(); ?> 

<a href="https://wordpress.stackexchange.com/questions/274663/get-variable-from-previous-blog-while-using-switch-to-blog/">

Solutions Collecting From Web of "Holen Sie sich die Variable aus dem vorherigen Blog, während Sie switch_to_blog verwenden"

Ihr Code, von dem ich annehme, dass er in einer function ist, sollte die vom aktuellen Blog benötigten Variablen übergeben. somefunction() also annehmen, dass Ihr Code in Ihrer Frage von somefunction() aufgerufen wird, ändern Sie das, um Variablen aus dem aktuellen Blog weiterzuleiten, wie in

 // variables from the current blog $current_blog_1 = "some value" $current_blog_2 = "another value" // do the code in the original question somefunction ($current_blog_1, $current_blog_2); 

Es könnte sogar effizienter sein, current_blog-Werte in ein Array zu schreiben, wie in

 // set some values before you call your code via a function $current_blog_array = array(); $current_blog_array[] = "some value"; $current_blog_array[] = "another value"; // call the function with an array, empty if needed somefunction ($current_blog_array = array()); 

Verarbeiten Sie dann die Array-Werte in Ihrem ursprünglichen Code.

bloginfo() echos, nicht zurück, so dass es nicht funktioniert, um es in die Variable $location zu speichern. Verwenden get_bloginfo() stattdessen get_bloginfo() und es sollte funktionieren, um die Informationen von der Site zu erhalten, die Ihren Code aufruft.