我的代码中有两个循环,为什么我需要使用wp_reset_postdata();
每一次之后,如果没有任何区别?
定义:在循环通过一个单独的查询后,此函数将$post global恢复到主查询中的当前post。
因此,如果我创建一个查询post\\u类型、类别或post type=“post\\u type”(这是循环的默认参数)以外的任何内容,那么wp_reset_postdata();
将post\\U类型还原为“post\\U类型”?如果是这样的话,代码中会是什么样子,或者我刚才写的是胡说八道?
不管怎样,你能给我举个例子吗?
<div class="one-half">
<h2>Latest Opinion</h2>
<?php // opinion posts loop begins here
$opinionPosts = new WP_Query(\'cat=1&posts_per_page=2\');
if ($opinionPosts->have_posts()) :
while ($opinionPosts->have_posts()) : $opinionPosts->the_post(); ?>
<div class="post-item clearfix">
<?php the_excerpt(); ?>
</div>
<?php endwhile;
else : // fallback no content message here
endif;
wp_reset_postdata(); ?>
</div><!-- /one-half -->
<div class="one-half last">
<h2>Latest News</h2>
<?php // news posts loop begins here
$newsPosts = new WP_Query(\'cat=23&posts_per_page=2\');
if ($newsPosts->have_posts()) :
while ($newsPosts->have_posts()) : $newsPosts->the_post(); ?>
<div class="post-item clearfix">
<?php the_excerpt(); ?>
</div><!-- /post-item -->
<?php endwhile;
else : // fallback no content message here
endif;
wp_reset_postdata();
</div> <!-- /one-half -->
?>