WordPress批量将已发布文章更改为草稿

WordPress允许用户编写自定义查询并创建自己的循环输出代码,为了不与WordPress默认的主循环冲突,…

WordPress允许用户编写自定义查询并创建自己的循环输出代码,为了不与WordPress默认的主循环冲突,在自定义循环结束后应该调用WordPress内置API恢复全局变量,即Reset The WordPress Loop,reset的方法有三种:wp_reset_postdata()、wp_reset_query()和rewind_posts,本文介绍了这三个函数在什么情况下使用以及使用方法。
WordPress对主循环管理的很不错,但当你开始大刀阔斧的写自定义程序时,可能会在一个模板中使用多次循环,为了不造成潜在问题,每次循环结束后都应该重置WordPress循环。
为什么要重置WordPress循环?当我们在模板中使用诸如the_title()等模板标签时,实际上有很多全局变量在使用中,自定义循环会修改全局变量,假设在某个widget中使用query_posts()循环查询了评论数最多的10篇文章,查询后没有重置循环数据,首页显示的内容就会出错,本来应该显示所有文章,现在可能就显示评论数最多的文章了。如果文章中有多个自定义循环,不重置数据将会产生无法预料的错误。

重置WordPress循环的方法

总结一下,有三种方法,分别用于不同的情况,列表如下。

wp_reset_postdata() wp_reset_query() rewind_posts()
使用WP_Query创建多个循环是使用,不接受任何参数,恢复$post全局变量的数据 使用query_posts()自定义循环时使用,不接受任何参数,不仅恢复$post全局变量,还会销毁之前的查询 需要重用同一个页面的查询结果时使用

实例

wp_reset_postdata()

wp_reset_query()

rewind_posts()

 
 

类别:WordPress开发

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT