Не получается настроить пагинацию на странице записей для конкретной рубрики

Понадобилось сделать пагинацию, но при переключении по страницам пагинации отображается один и тот же пост.
Нашла рабочий цикл, в котором идёт переключение по страницам, но при таком коде на странице записей тогда отображаются все записи с сайта (у меня 2 раздела, и две разные рубрики на разные записи), мне нужно, чтобы к примеру отображались записи рубрики news только.

Код, где пагинация работает, но отображаются все посты вообще:

             <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
			<div class="container">
				<div class="news-post">
					<div class="news-post1">
						<h4 class="news-title"><?php the_title()?></h4>
						<p class="news-text"><?php the_content()?></p>
					</div>
				</div>
			</div>
			<?php endwhile; else: ?>
			Записей нет.
			<?php endif; ?>
			<?php the_posts_pagination(); ?>

Код, где работает вывод постов только нужной мне рубрики, но тогда не работает пагинация (отображается один и тот же пост)

            <?php the_posts_pagination(); ?>
			<?php
			// Запрос. $args - параметры запроса
			query_posts( array(
			'category_name'    => 'news',
			'orderby'     => 'date',
			'order'       => 'DESC',
			'post_type'   => 'post',
			) );

			// Цикл WordPress
			if( have_posts() ){
				while( have_posts() ){
					the_post(); ?>
			<div class="container">
				<div class="news-post">
					<div class="news-post1">
						<h4 class="news-title"><?php the_title()?></h4>
						<p class="news-text"><?php the_content()?></p>
					</div>
				</div>
			</div>
			<?php
			}
			wp_reset_query();
			} else {
			// текст/код, если постов нет
			}
			?>
			<?php the_posts_pagination(); ?>

Не получается всё никак совместить

Заметки к вопросу:
Kama 2 года назад

Не понятен вопрос, пагинация на странице рубрики должна работать из коробки, что там еще нужно настраивать?

Если на такой странице делается отдельный дополнительный запрос на получение постов из рубрики, то этого делать не надо, запрос сам ВП делает заранее. Если под словом "настроить" подразумевается что пага не работает как должна, так это надо искать причину (баг), а не делает еще один запрос и надеяться что само все заработает волшебным образом.

Причина нерабочей пагинации базовой чаще всего в неправильном использовании хука pre_get_posts. Попробуй поискать по этому хуку в коде темы, кастомных плагинов, может чтото найдешь. Если найдешь попробуй поотключать хуки и посмотреть может заработает пага...

Polina Miroshnichenko 2 года назад

Я всех тонкостей пока не знаю, только осваиваю WP, может как то не так выразилась.
У меня есть 2 рубрики для постов (news и guides). На странице записей я вывожу посты рубрики news, когда их стало много, я решила сделать пагинацию, чтобы выводилось по 3 допустим поста и сама сложность в том, что когда я сделала пагинацию (2 вариант кода предыдущего вопроса - ниже прикрепляю скрины наглядно 1 и 2), то на 2,3,4 и т.д. страницах пагинации одни и те же посты, то есть пагинация переключается, а посты нет, тогда я попробовала другой цикл без определенной рубрики (1 вариант кода - ниже 3 скрин наглядно), пагинация стала выполнять свою функцию, но тогда на странице записей находятся все посты всех рубрик ( а мне нужно только news).

Polina Miroshnichenko 2 года назад

Я еще раз перечитала статью про query_post(); и мне помог такой аргумент get_query_var('page'), теперь всё работает, спасибо за ваши труды smile