我正在编写一个查询,使用switch\\u to\\u blog()切换到MU站点的主博客。一切都很好,只是我正在尝试编写一个wp\\u查询,其中包含上一篇博客中所需的变量。从主博客中提取的所有内容都存储在一个CPT中,该CPT具有对应于各种子博客名称的分类法。我正在尝试存储bloginfo(“名称”);从我以前的博客中,并在切换到博客后将其拉入查询中,但由于明显的原因,运气不佳(它获取的是当前的bloginfo,而不是以前的bloginfo)有什么方法可以将以前的bloginfo保存到某种类型的全局中,或者切换回以前的blog以获取变量mid查询?
有关更好的说明,请参见下面的查询:
$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
),
),
) ); ?>
<?php if ( $the_query->have_posts() ) : ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
<?php else : ?>
<p><?php _e( \'Sorry, no posts matched your criteria.\' ); ?></p>
<?php endif; ?>
<?php restore_current_blog(); ?>
SO网友:Rick Hellewell
我假设您的代码在函数中,应该传递当前博客所需的变量。因此,假设问题中的代码由somefunction()
, 将其更改为传递当前博客中的变量,如中所示
// 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);
将当前的\\u blog值放入一个数组中可能更有效,如
// 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());
然后处理原始代码中的数组值。