Wordpress循环显示来自最新的帖子,从特定日期开始

时间:2014-04-15 20:16:29

标签: php wordpress loops

我正在使用自定义循环在某个日期之后一次调出3个帖子。它或多或少有效,但排序错误,我希望它首先列出最新,所以下降?

使用Ascending几乎可以得到我想要的东西,但显然这不是正确的顺序。:

当前帖子是2012年12月12日,17日,13日,13日。

使用降序我得到了正确的顺序,但它从最新的帖子开始,而不是从当前帖子开始,所以像这样

当前帖子是2012年12月12日,2013年3月26日,27日,28日。

我想要的是:

当前帖子是2012年12月12日,13日,13日,17日。

我不能让我的循环显示正确的顺序,说到循环这是我的:

$args = array(
     'orderby' = > 'date', 
     'order' = > 'DESC', 
     'posts_per_page' = > 3, 
     'offset' = > $offset, 
     'category__in' = > $cat, 
     'post_status' = > 'publish',
     'date_query' = > array(array('after' = > $date)));

所以目前这个循环正在下降,就像它应该的那样,但它不是从当前帖子的日期开始,只是从正确的日期开始升序,但这不是我想要显示帖子的顺序。

我的循环参数出了什么问题?

1 个答案:

答案 0 :(得分:0)

所以我只是使用了一些hackery而改变了循环的顺序:

$args = array('orderby' => 'date','order'=>'ASC','posts_per_page'=>3, 'offset' => $offset, 'category__in' => $cat,'post_status' => 'publish',
'date_query' => array(array('after' => $date ))); 
$loop = new WP_Query($args);
$array_rev = array_reverse($loop->posts);
 $loop->posts = $array_rev;
  while($loop->have_posts()) {
    $loop->the_post(); 
    get_template_part( 'sidebar-posts-template' );
} wp_reset_postdata();