按日期和帖子类型划分WP_QUERY帖子

时间:2013-12-25 作者:SBM

我有一个WP\\U查询,它按日期划分了2个帖子类型,但功能不存在。目前,它输出相同级别的日期和帖子,如。。

-Date
-发布
-发布
-Date
-发布
-发布

我想将每个日期及其相关帖子包装在一个div中,并将每个日期的两种帖子类型拆分为两列。

enter image description here

Update

我设法按日期将帖子拆分,并将其包装在单独的分区中,现在我只需要弄清楚如何在每个日期下将两个CPT划分为单独的列

Updated Query

<?php
$day_check = \'\';
$index = new WP_Query( array(
   \'orderby\'=>\'post_date\',
   \'post_type\' => array(\'cpt1\', \'cpt2\'),
   \'posts_per_page\' =>12));
while ( $index->have_posts() ) : $index->the_post();
   $day = get_the_date(\'j\');
   if ($day != $day_check) {
      if ($day_check != \'\') {
         echo \'</div></div>\'; // close the divs
      }
      echo \'<div class="day"><div class="date">\' . get_the_date() . \'</div><div class="posts">\';
   }?>
   <li class="post"><?php the_title(); ?></li>
<?php $day_check = $day; endwhile; ?>
<?php if ( $index->have_posts() ) :?>                                         
<?php endif; ?>

1 个回复
SO网友:Martin Zeitler

post\\u类型并不是真正的元查询-因此,这两种post\\u类型都将至少添加/查询一个类别,以便调用过滤器-使用普通SQL仍然是最后的选择。

add_filter( \'posts_groupby\', \'my_posts_groupby\' );

function my_posts_groupby($groupby) {
   global $wpdb;
   $groupby = "{$wpdb->posts}.post_date";
   return $groupby;
}
根据你的例子(我想你也可以这样通过):

$args = array(
   \'posts_per_page\' => 10, 
   \'orderby\' => \'date\',
   \'groupby\' => \'date\', /* unsure about the parameter, should be easy to find out */
   \'post_type\' => array(\'type1\', \'type2\')
);

结束

相关推荐

query_posts orderby postmeta

我正在尝试检索自定义帖子类型,并按Posteta中存储的自定义日期进行排序。自定义日期是unix时间戳。meta\\u查询工作正常-它只检索将来具有自定义日期的帖子。但是orderby不起作用-订单仍然基于post\\u日期。我错过了什么? $today = date(\"m/d/Y\"); $today = strtotime( $today ); query_posts( array( \'post_type\' =>