На других страницах она работает, а в таксомии при переходе с первой страницы на 2,3 итд выдает 404.
Код пагинации для страницы таксономии
$al_cat_slug = get_queried_object()->slug;
$al_cat_name = get_queried_object()->name;?>
<div class="book-items row">
<?php
global $post;
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array (
'post_type' => 'book',
'sortby'=>'name',
'caller_get_posts'=>1,
'posts_per_page'=> 2,
'paged'=>$paged,
'tax_query' => array(
array(
'taxonomy' => 'book-categories',
'field' => 'slug',
'terms' => $al_cat_slug
)
)
);
query_posts( $args );
if ( have_posts() ):
while ( have_posts() ) :
the_post();?>
<div class="book-item col-12">
<a href="<?php the_permalink()?>">
<h2 class="book-title">
<?php if( get_field('catalog_order') ): ?>
<span class="catalog-order"><?php the_field('catalog_order')?></span>
<?php endif; ?>
<?php the_title(); ?>
<?php if( get_field('book_author') ): ?>
<span class="book-author"> — <?php the_field('book_author')?></span>
<?php endif; ?>
</h2>
</a>
</div>
<?php endwhile;
echo the_posts_pagination();
endif;
wp_reset_query();?>
</div>
Гуглил проблему, вот это добавить в functions.php не помогло.
function taxonomy_rewrite_fix($wp_rewrite) {
$r = array();
foreach($wp_rewrite->rules as $k=>$v){
$r[$k] = str_replace('catalog=$matches[1]&paged=','catalog=$matches[1]&page=',$v);
}
$wp_rewrite->rules = $r;
}
add_filter('generate_rewrite_rules', 'taxonomy_rewrite_fix');
Есть рабочее решене?