赞助商

php – WordPress:rewind_posts(),wp_reset_postdata()和wp_reset_query()之间的区别

发布时间:2019-04-21 发布网站:脚本之家
脚本之家收集整理的这篇文章主要介绍了php – WordPress:rewind_posts(),wp_reset_postdata()和wp_reset_query()之间的区别脚本之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
WordPress函数rewind_posts(),wp_reset_postdata()和wp_reset_query()之间有什么区别?何时应该使用它们?

如果我在single.php中有这部分代码:

$query = new WP_Query($some_args);
while ($query->have_posts()) : $query->the_post();
    ...
endwhile;

这等于这个:

$query = new WP_Query($some_args);
while (have_posts()) : the_post();
    ...
endwhile;

解决方法

你问题中的两个陈述并不相同.

在第一个块中,您循环浏览自定义WP_Query,$query返回的帖子.

在第二个块$query中没有做任何事情,帖子实际上来自全局$wp_query.

让我们来看看你提到的三个函数中的每个函数.

rewind_posts() – 这听起来确实如此.运行循环后,此函数用于返回到开头,允许您再次运行相同的循环.

wp_reset_postdata() – 在您的第一个代码块中运行自定义WP_Query.这将修改全局$post变量.在使用wp_reset_postdata()运行该查询之后,将全局$post变量恢复回主查询中的第一个帖子.

wp_reset_query() – 如果更改全局$wp_query或使用query_posts(),则应该使用它(我不建议使用query_posts()).它将$wp_query重置为原始版本.

进一步阅读:

http://codex.wordpress.org/Function_Reference/rewind_posts
http://codex.wordpress.org/Function_Reference/wp_reset_postdata
http://codex.wordpress.org/Function_Reference/wp_reset_query

总结

以上是脚本之家为你收集整理的php – WordPress:rewind_posts(),wp_reset_postdata()和wp_reset_query()之间的区别全部内容,希望文章能够帮你解决php – WordPress:rewind_posts(),wp_reset_postdata()和wp_reset_query()之间的区别所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:76874919,请注明来意。
标签: