Wordpress: при пагинации не найдена вторая страница. Как исправить?

Добрый день. Делаю пагинацию так:
<?php
				$paged = get_query_var( 'paged' ) ? absint( get_query_var( 'paged' ) ) : 1;
				$the_query = new WP_Query( array(
					'posts_per_page' => 3,
					'category_name'  => 'articles',
					'paged'          => $paged
				) );
				while( $the_query->have_posts() ){
					$the_query->the_post();
					?>
						<?php the_title(); ?>
					<?php 
				} 
				wp_reset_postdata();
				$big = 999999999; // уникальное число

				echo paginate_links( array(
					'base'    => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
					'format'  => '?paged=%#%',
					'current' => max( 1, get_query_var('paged') ),
					'total'   => $the_query->max_num_pages,
					'type' => 'list',
					'prev_text'    => __('<img class="pagination-link-backward-img" src="/wp-content/themes/elderlyhouse/img/style/arrow-right.svg" data-img-svg alt="Вправо">'),
					'next_text'    => __('<img class="pagination-link-forward-img" src="/wp-content/themes/elderlyhouse/img/style/arrow-right.svg" data-img-svg alt="Вправо">'),
				) );
				?>


Разбивает на страницы, но эти страницы "Не найдены", кроме первой.
Ссылки получаются вида: "site.ru/category/articles/page/2", где "articles" - название рубрики
  • Вопрос задан
  • 854 просмотра
Пригласить эксперта
Ответы на вопрос 2
Из своего черновика скопировал, поправите как надо.

<?php
if ( get_query_var('paged') ) $paged = get_query_var('paged');
elseif ( get_query_var('page') ) $paged = get_query_var('page');
else $paged = 1;

$args = array(
    'paged' => $paged,
		'post_type' => 'post',
		'posts_per_page' => 12,				    
		'orderby' => 'modified',	# сортировка по дате изменения поста
);

$custom_query = new WP_Query( $args );
if ( $custom_query->have_posts() ) { 
  while( $custom_query->have_posts() ) {	$custom_query->the_post();
  	the_title();
  } 
   
  if ($custom_query->max_num_pages > 1) { // хак для правильной работы пагинации
      $orig_query = $wp_query;
      $wp_query = $custom_query;

			// Пагинация
			the_posts_pagination(array(
				'prev_text' => (''),
				'next_text' => (''),
				'end_size'  => 1,
				'mid_size'  => 2
			));

      $wp_query = $orig_query; // возвращаем дефолтное значение
  }
  wp_reset_postdata(); // сброс запроса
}	?>
Ответ написан
Комментировать
BuggyBuggy
@BuggyBuggy Автор вопроса
UPD: почему-то перестало работать. Ни на новом сайте, ни на тех сайтах, где работало. Может что-то обновилось в Вордпрессе?
Пользую версию 5.3.2
Использую код отсюда (раздел #2 Пример с произвольным запросом WP_Query)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы