WordPress函数 wp_reset_postdata()用法
这个函数的主要功能就是在自定义循环查询结束后使用new WP_Query()恢复WordPress主循环查询中的$post全局变量,对当前主循环查询中的$post变量进行了重建。
主循环查询和自定义循环查询(二次查询)(the main query loop and secondary query loops)不同之处是:
1.主循环查询是基于URL请求和主题进程载入之前进行的。
2.自定义循环查询是在主题模板和插件文件查询时使用的。
其实这函数功能简单来说就是,当咱们使用Loop循环输出文章时,会自定义一些条件,比如输出某一类文章或是等等各种条件,当执行完成时,最后用wp_reset_postdata()这个函数重置一下。
用法:
<?php wp_reset_postdata(); ?>
这里有个简单的例子
<?php // 自定义参数,每页显示三篇POST $args = array( 'posts_per_page' => 3 ); // 查询 $the_query = new WP_Query( $args ); ?> <?php if ( $the_query->have_posts() ) : ?> <!-- 循环开始 --> <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?> <?php the_title(); ?> <?php the_excerpt(); ?> <?php endwhile; ?><!-- 循环结束 --> <!-- 在这里加入分页功能 --> <?php wp_reset_postdata(); ?> <?php else: ?> <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p> <?php endif; ?>
现在,对于WordPress中wp_reset_postdata()函数用法应该已经熟悉了,在后期的二次开发中自定义循环结束后一定记得要reset。
