Intereting Posts
Как найти адрес карты в пользовательском типе сообщений? Сортировка сообщений по первой букве в заголовке, а не по первому номеру Предотвратите 404 авторских страниц без сообщений get_file_data для чтения данных для пользовательского файла шаблона? как отображать уведомления в меню WordPress, когда публикуется новое сообщение Размеры носителя не отображаются WP 4.8: новый синтаксис таксономии для get_term_by и get_term_link? Каков наилучший способ добавить класс в div с классом сообщений каждые 4 секунды с помощью jquery? Сообщение без тега permalink problem Загрузка файла Frontend Simple Local Avatar Отображаемый контент исчезает при добавлении атрибутов в короткий код Непоследовательное поведение от number_format Какие методы использовать для создания небольших редактируемых фрагментов текста для статических страниц? Автоматизация выписки неизвестная проблема в 'header.php', предотвращающая полное отображение темы

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

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