Intereting Posts
5 сообщений на страницу из одной категории, с разбивкой на страницы Настройка отображаемого изображения сообщения из встроенного видео YouTube media_sideload_image генерирует пробел? Запустить JS-код в пользовательском логе Исправлена ​​кнопка и слайд-шоу в загрузке шаблона на страницу Как изменить search.php, чтобы не показывать страницы, только показывать сообщения Ссылка изображения с данными из wpdb На второй панели инструментов в tinymce установлен «display: none»? Почему наш редактор сообщений застревает в cols = 40? Вам не разрешено управлять этими элементами – ошибка, введенная в 4.4 Список сообщений пользовательских типов сообщений, упорядоченных по условиям пользовательской таксономии? Как перенести результаты поиска на определенную страницу? как показать уведомление администратора на странице пользовательского меню после отправки формы? Добавить метатекст шаблона на страницу редактирования категории? Очистить кеш при отправке сообщения

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

У меня есть код для отображения 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();