@alexiusgrey

Как пофиксить пагинацию в таксономии?

На других страницах она работает, а в таксомии при переходе с первой страницы на 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');

Есть рабочее решене?
  • Вопрос задан
  • 80 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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