У меня WP_Query, который делит 2 типа записей по дате, но функциональности там нет. В настоящее время он выводит даты и сообщения на том же уровне, что и ..
–Дата
-После
-После
-Дата
-После
-После
Я хотел бы обернуть каждую дату и связанные с ней сообщения внутри div, а также разделить два типа сообщений для каждой даты на два столбца.
Обновить
Мне удалось разделить посты по дате и обернуть их в отдельные div, теперь мне просто нужно выяснить, как разделить два CPT на отдельные столбцы под каждой датой
Обновленный запрос
<?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; ?>
Post_type на самом деле не является мета-запросом, поэтому оба этих типа post_types по крайней мере добавили / добавили 1 категорию, чтобы получить вызванный фильтр – использование простого 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') );