fullstackru
@fullstackru

Как вывести последние записи из категории текущего поста на WordPress?

Я пытаюсь сделать вывод записей из категории текущего поста на WordPress. То есть, когда я захожу на запись с категорией "Новости" - хочу, чтобы отображались последние записи из этой категории, но вместо этого - выводиться последние посты с разными категориями.

<main>
    <?php $catquery = new WP_Query( 'cat=id' ); ?>
    <ul>
        <?php while($catquery->have_posts()) : $catquery->the_post(); ?>
            <li>
                <a href="<?php the_permalink() ?>" rel="bookmark">
                    <?php the_category(); ?>   
                </a>
            </li>
        <?php endwhile;
            wp_reset_postdata();
        ?>
    </ul>
</main>


Мне кажется, что я запрос неправильно сформировал - $catquery = new WP_Query( 'cat=id' );.
  • Вопрос задан
  • 489 просмотров
Пригласить эксперта
Ответы на вопрос 1
fullstackru
@fullstackru Автор вопроса
Все, до меня доперло то, как можно это сделать.

1. Сначала получаем ID категории текущего поста:

<?php
    $categories = get_the_category();
    $category_id = $categories[0]->cat_ID;
?>


2. Затем передаем этот ID в массив:

<?php
    $args = array(
        'post_type' => 'post',
        'post_status' => 'publish',
        'cat' => $category_id,
        'posts_per_page' => 5,
    );
?>


3. После чего делам запрос и получаем нужные нам посты из категории:

<?php
    $arr_posts = new WP_Query( $args );
 
    if ( $arr_posts->have_posts() ) :
 
        while ( $arr_posts->have_posts() ) :
            $arr_posts->the_post();
            ?>
            <ul>
                <li><?php the_title(); ?></li>
                <li><?php the_category(); ?></li>
            </ul>
            <?php
        endwhile;

    endif;
?>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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