@Mako42

Как настроить вывод последних 4ех постов в wordpress?

Есть код вывода постов:
<?php $wp_query = new WP_Query(array(
                                'posts_per_page' => 4
                            ));
                            if(have_posts()) : while (have_posts()) : the_post(); ?>
                                    <?php get_template_part('content', 'masonry'); ?>
                                <?php endwhile; endif; ?>

он почему то выводит 8 последних постов, хотя posts_per_page установлена в 4. Если определяю категорию(рубрику) аргументом 'cat' => 322, то начинает выводить по 4. Хочу, чтобы он вывел 4 последних поста из всех категорий(рубрик).
  • Вопрос задан
  • 194 просмотра
Решения вопроса 1
@Mako42 Автор вопроса
Решил вопрос таким способом, добавив в аргумент со всеми нужными категориями, но это больше похоже на костыль
$args = [
    'cat' =>[529, 154, 525, 295, 160, 515, 523, 142, 521, 517, 527, 519],
    'posts_per_page' => 4,
    'order' => 'DESC',
    'orderby' => 'date',
    'post__not_in' => [get_the_ID()]
];
$wp_query = new WP_Query($args);
if($wp_query->have_posts()) : while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
    <?php get_template_part('content', 'masonry'); ?>
<?php endwhile; endif; wp_reset_postdata(); ?>
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ClipClock08
@ClipClock08
WP Developer. Learning Magento CMS
<?php
$args = [
'posts_per_page' => 4,
'order' => DESC,
'orderby' => date,
'post__not_in' = [get_the_ID()]
]
$wp_query = new WP_Query($args);
if($wp_query->have_posts()) : while ($wp_query->have_posts()) : $wp_query->the_post(); ?>
<?php get_template_part('content', 'masonry'); ?>
<?php endwhile; endif; wp_reset_postdata(); ?>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы