Добрый день. Проблема с пагинацией и циклом на странице категорий. На сайте есть несколько рубрик, к ним принадлежат определенные посты (тут конечно нет ничего информативного, но все же напишу)
Создал файл category.php чтобы вывести циклом все посты(анонсы). В настройках чтения кол-во постов стоит 1, нужно чтобы отображать последний пост на главной.
содержание category.php
<?php
/**
* Template for displaying Category Archive pages
*
*/
get_header(); ?>
<section id="primary" class="main__content">
<div id="content " role="main">
<?php if ( have_posts() ) : ?>
<header class="page-header">
<h1 class="page-title"><?php
printf( __( 'Category Archives: %s', 'ocean' ), '<span>' . single_cat_title( '', false ) . '</span>' );
?></h1>
<?php
$category_description = category_description();
if ( ! empty( $category_description ) ) {
/**
* Filter the default Twenty Eleven category description.
*
* @since Twenty Eleven 1.0
*
* @param string The default category description HTML.
*/
echo apply_filters( 'category_archive_meta', '<div class="category-archive-meta">' . $category_description . '</div>' );
}
?>
</header>
<?php $args = array(
'cat' => $category->term_id,
'post_type' => 'post',
'posts_per_page' => '10',
'prev_text' => __( 'Старые записи' ),
'next_text' => __( 'Новые записи' ),
); ?>
<?php
$query = new WP_Query( $args );
if ( $query->have_posts() ) { ?>
<section class="<?php echo $category->name; ?> listing">
<h2>Latest in <?php echo $category->name; ?>:</h2>
<?php while ( $query->have_posts() ) {
$query->the_post();
?>
<article id="post-<?php the_ID(); ?>" <?php post_class( 'category-listing' ); ?>>
<?php if ( has_post_thumbnail() ) { ?>
<a href="<?php the_permalink(); ?>">
<?php the_post_thumbnail( 'thumbnail' ); ?>
</a>
<?php } ?>
<h3 class="entry-title">
<a href="<?php the_permalink(); ?>">
<?php the_title(); ?>
</a>
</h3>
<?php the_excerpt( __( 'Continue Reading <span class="meta-nav">→</span>', 'twentyfourteen' ) ); ?>
</article>
<?php } // end while ?>
</section>
<?php } // end if
// Use reset to restore original query.
wp_reset_postdata(); ?>
<?php the_posts_navigation( array(
'prev_text' => 'Предыдущие записи',
'next_text' => 'Следующие записи',
'screen_reader_text' => 'Навигация',
) ); ?>
<?php else : ?>
<article id="post-0" class="post no-results not-found">
<header class="entry-header">
<h1 class="entry-title"><?php _e( 'Nothing Found', 'ocean' ); ?></h1>
</header><!-- .entry-header -->
<div class="entry-content">
<p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'ocean' ); ?></p>
<?php get_search_form(); ?>
</div><!-- .entry-content -->
</article><!-- #post-0 -->
<?php endif; ?>
</div><!-- #content -->
</section><!-- #primary -->
<?php get_sidebar(); ?>
<div class="clearfix"></div>
<?php get_footer(); ?>
цикл выводит 10 записей, но при переходе на страницу category/cat_name(название категории)/page/2/
посты выводяться те же, навигация работает, но не корректно.
Если поставить кол-во постов 50
<?php $args = array(
'cat' => $category->term_id,
'post_type' => 'post',
'posts_per_page' => '10' , // меняем на 50
'prev_text' => __( 'Старые записи' ),
'next_text' => __( 'Новые записи' ),
); ?>
они выводятся, но навигация тоже не работает. В общем я чего-то намудрил и теперь не могу разобраться. Мне бы хотелось разобраться в данной проблеме, объясните почему это неправильно работает. Я только предполагаю, что я обрезаю этот массив, указав кол-во постов на странице.