WP_Query、query_posts() 和 get_posts()应该在什么时候使用

廖为祥 wordpressWP_Query、query_posts() 和 get_posts()应该在什么时候使用已关闭评论326阅读模式

WordPress输出文章最常见的函数是query_posts(),但query_posts()不是唯一的方式,而且乱用query_posts()不是一个好习惯。get_posts()或者WP_Query也可以达到相同的作用。看了一篇文章,描述了这三者的区别。

WP_Query、query_posts() 和 get_posts()应该在什么时候使用

query_posts()

query_posts()主要用来输出主循环,并且会创建很多全局变量。因此不适合到处使用,最佳使用场所就是输出主循环,别的地方能不用就不要用。如果一定要用,记得在输出结果以后使用wp_reset_query()函数重置查询结果,防止意外修改主循环和全局变量产生一堆莫名其妙的错误。

get_posts()

get_posts()的机制与query_posts()类似,参数也相同,是一种简单的获取文章的方法,get_posts()不会产生全局变量,不影响主循环,非常安全。如果要在主循环之外输出最新文章、特色文章等,不妨考虑用这个。

//get_posts参数
<?php
$args = array(
	'numberposts' => 5,
	'offset' => 0,
	'category' => , 
	'orderby' => 'post_date', 
	'order' => 'DESC', 
	'include' => , 
	'exclude' => ,
	'meta_key' => ,
	'meta_value' => ,
	'post_type' => 'post', 
	'post_mime_type' => ,
	'post_parent' => ,
	'post_status' => 'publish' );
 ?>

WP_Query

WP_Query是前两个函数的基础,使用起来更复杂,但限制也少。适合创建功能比较特殊的自定义循环,也完全可以取代上面两个函数。

廖为祥
  • 本文由 发表于 2022年11月19日 15:56:38
  • 除特别声明外,本站原创内容版权遵循 CC BY-NC-ND/2.5/CN协议规定