WordPress 教程:利用 query_posts 获取某段时间内的文章

[ 博客 ]

自 WordPress 3.7 开始,query_posts 增加了一个 date_query 的参数,这个参数的好处是可以查询任意时间段内的文章。如果版本小于3.7,就需要用$wpdb 直接从数据库读取数据了。

下面是一个例子,获取从2014年6月1日 到 2014年8月1日,且发布天数在2-22日内的所有文章。

<?php // 获取从2014年6月1日 到 2014年8月1日,且发布天数在2-22日内的所有文章
$query_posts = query_posts( 
 array( 
 'date_query' => array( 
 array( 
 'after' => array( // 从2014年6月1日开始 
 'year' => 2014, 
 'month' => 6, 
 'day' => 1, 
 ), 
 'before' => array( // 到2014年8月1日结束 
 'year' => 2014, 
 'month' => 8, 
 'day' => 1, 
 ), 
 'inclusive' => true, 
 ), 
 array( // 天数 >= 2 
 'day' => 2, 
 'compare' => '>=', 
 ), 
 array( // 天数 <= 22 
 'day' => 22, 
 'compare' => '<=', 
 ), 
 ), 
 'posts_per_page' => -1, 
 ) 
); 
?> 
<?php if (have_posts()) : while (have_posts()) : the_post();?> 
 <p><?php the_time("Y-m-d")?><br /><?php the_title();?></p> 
<?php endwhile; endif;?>

详细参数列表见:http://codex.wordpress.org/Class_Reference/WP_Query#Date_Parameters

发表评论

电子邮件地址不会被公开。

随机