Intereting Posts
Передача переменной в функцию, подключенную к исходному содержимому Как заменить значения в WordPress DB с помощью phpMyAdmin Как получить текущий идентификатор сайта? (WPMU) Предварительный просмотр расширений исчез из-за WP 4.5.2 Какой смысл использовать шаблон front-page.php? Как создать категорию или тег, доступный исключительно администраторам, а не пользователям? Звуковой проигрыватель WordPress добавляет класс случайным образом, используя плагин Audio Album Что означает эта ошибка? Ошибка базы данных WordPress: Вставка данных в базу данных Пользовательский запрос не находит страницы Как я могу отправить электронное письмо через 24 часа после первого электронного письма? Передача переменных через структуру контировки Получение RID из толстого ящика! Скажите, пожалуйста, любой бесплатный плагин для дизайнера продукта (например, настроить футболку, мобильную обложку, кружку и т. Д.). Как исключить родительскую категорию, но показывать дочерние категории?

Упорядочить по дате на первой странице

У меня есть код для отображения 5 последних сообщений из каждой категории на первой странице. Однако на данный момент они упорядочены по категориям. Можно ли заказать их по дате, но все еще есть 5 должностей для каждой категории?

Вот мой текущий код:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; if( $cats = get_categories() ) foreach( $cats as $cat ) : //go through all site's categories and get up to 5 posts each//// $cat_query = new WP_Query( array( 'post__not_in' => get_option( 'sticky_posts' ), 'category__in' => array($cat->term_id), 'posts_per_page' => 5, 'paged' => $paged ) ); if($cat_query->have_posts()) : ?> <h3 class="cat-title"><?php echo $cat->name; ?></h3> <?php while ($cat_query->have_posts()) : $cat_query->the_post(); get_template_part( 'loop', 'index' ); endwhile; endif; wp_reset_postdata(); endforeach; 

Solutions Collecting From Web of "Упорядочить по дате на первой странице"

Добавьте orderby и укажите свои аргументы:

 $cat_query = new WP_Query( array( 'post__not_in' => get_option( 'sticky_posts' ), 'category__in' => array($cat->term_id), 'posts_per_page' => 5, 'paged' => $paged, 'orderby' => 'date', 'order' => 'DESC' ) ); 

Обновить

Кажется, что он по-прежнему занимает одну категорию, перечисляет 5 сообщений, а затем переходит к другому, с 5 сообщениями и т. д. Он занимает последние сообщения, но они перечисляют одну категорию после анотера

Попробуйте это вместо этого:

 $paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1; $i = 0; if ( $cats = get_categories() ) foreach( $cats as $cat ) : $cat_query = new WP_Query( array( 'post__not_in' => get_option( 'sticky_posts' ), 'category__in' => array ( $cat->term_id ), 'posts_per_page' => 5, 'paged' => $paged, 'orderby' => 'date', 'order' => 'DESC' ) ); if ( $cat_query->have_posts() ) : ?> <?php while ( $cat_query->have_posts() ) : $cat_query->the_post(); // arrays of all the posts' IDs and dates $the_posts['ID'][$i] = $post->ID; $the_posts['date'][$i] = $post->post_date; $i++; endwhile; endif; wp_reset_postdata(); endforeach; foreach ( $the_posts['date'] as $the_post_date ) { $post_dates[] = $the_post_date; } // sort all the posts by their dates array_multisort( $post_dates, SORT_DESC, $the_posts['ID'] ); foreach ( $the_posts['ID'] as $the_post_id ) { $post_ids[] = $the_post_id; } $query = new WP_Query( array( 'post_type' => 'post', 'post__in' => $post_ids ) ); if ( $query->have_posts() ) : ?> <?php while ( $query->have_posts() ) : $query->the_post(); ?> <h3 class="cat-title"><?php $cat = get_the_category( get_the_ID() ); echo $cat[0]->name; ?></h3> <?php get_template_part( 'loop', 'index' ); endwhile; endif; wp_reset_postdata();