给定一个Post对象数组,如何初始化The Loop 这样就可以使用常见的循环函数:
$posts = array( /* WP_Post, WP_Post, ... */);
while ( have_posts() ) {
the_post();
the_title();
}
我知道我可以简单地在数组元素上循环,并将每个元素的ID传递给每个函数,但是由于我无法控制的原因,这里最好使用实际的Wordpress循环。
数组是由一个我无法更改的函数提供的。为了讨论的目的,它可能来自unserialize().
最合适的回答,由SO网友:DrLightman 整理而成
我在我的一个自定义窗口小部件中使用了它:
global $post;
$posts = array( /* WP_Post, WP_Post, ... */);
while (list($i, $post) = each($posts)) :
setup_postdata($post);
// use the template tags below here
if(has_post_thumbnail()):
?><div class="featured_image_wrap"><?php
the_post_thumbnail();
?></div><?php
endif;
the_title();
endwhile;
// don\'t forget to restore the main queried object after the loop!
wp_reset_postdata();