gpt4 book ai didi

php - WordPress:rewind_posts()、wp_reset_postdata() 和 wp_reset_query() 之间的区别

转载 作者:可可西里 更新时间:2023-11-01 13:16:09 24 4
gpt4 key购买 nike

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;

最佳答案

您问题中的两个陈述不相等。

在第一个 block 中,您将循环访问自定义 WP_Query、$query 返回的帖子。

在第二个 block 中,$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() 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23729847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com