如果只需要每个WP\\U查询对象的帖子,可以执行以下操作:
<?php
// fetch blogs here
$all_posts = array()
foreach($blogs as $b)
{
switch_to_blog($b->blog_id);
$query = new WP_Query(/* your args here */);
if($query->have_posts())
$all_posts = array_merge($all_posts, $query->posts); // posts are stored in the `posts` property
restore_current_blog(); // FYI: this tends to slow things down
}
看来,在这种情况下,您最好使用
get_posts
而不是手动创建WP\\u查询对象。您只需要结果数组,这就是
get_posts
当然,它使用
WP_Query
在幕后。
<?php
// fetch blogs here
$all_posts = array()
foreach($blogs as $b)
{
switch_to_blog($b->blog_id);
$posts = get_posts(/* your args here */);
if($posts)
$all_posts = array_merge($all_posts, $posts);
restore_current_blog();
}
您应该知道
get_post_meta
当您最终循环浏览这些帖子时,诸如此类的东西不会像您希望的那样工作——您几乎只需要处理每个帖子对象。