Задать вопрос
@jjmail

Почему не работает пагинация на странице тегов на сайте WordPress?

Привет, помогите пожалуйста не работает пагинация на странице тегов, на сайте wordpress. Выводится и появляется, но при переходе на 2 страницу ошибка 404.

Мой код для вывода записей в текущем теге:

<div class="background-type-2">
     <div class="main-content">
      <div class="line-ver">
       <div class="wrapper">
        <?php get_sidebar('blog'); ?>
        <div id="container">
           <div id="content" class="blog" role="main">
           <?php
           $current_page = (get_query_var('paged')) ? get_query_var('paged') : 1; 
           $tag = get_queried_object();
           $args = array(
            'posts_per_page' => 7, 
            'tag' => $tag->slug,
            'paged'=> $current_page
            );
           query_posts($args);
           $wp_query->is_archive = true;
           $wp_query->is_home = false;
           while(have_posts()): the_post();
           ?>
           <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
            <div class="post_headline">
               <h3><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h3>
           </div>
    </article>
    <?php
    endwhile;
    if (function_exists('custom_pagination')) {
        custom_pagination($query->max_num_pages,"",$paged);
    }
    wp_reset_query();
    ?>
    </div><!-- #content -->

</div><!-- #container -->
</div>
</div>
</div>
</div>


Моя кастомная пагинация:

function custom_pagination($numpages = '', $pagerange = '', $paged='') {

    if (empty($pagerange)) {
        $pagerange = 2;
    }

    /**
     * This first part of our function is a fallback
     * for custom pagination inside a regular loop that
     * uses the global $paged and global $wp_query variables.
     *
     * It's good because we can now override default pagination
     * in our theme, and use this function in default quries
     * and custom queries.
     */
    global $paged;
    if (empty($paged)) {
        $paged = 1;
    }
    if ($numpages == '') {
        global $wp_query;
        $numpages = $wp_query->max_num_pages;
        if(!$numpages) {
            $numpages = 1;
        }
    }

    /**
     * We construct the pagination arguments to enter into our paginate_links
     * function.
     */
    $pagination_args = array(
        'base'            => get_pagenum_link(1) . '%_%',
        'format'          => 'page/%#%',
        'total'           => $numpages,
        'current'         => $paged,
        'show_all'        => False,
        'end_size'        => 1,
        'mid_size'        => $pagerange,
        'prev_next'       => True,
        'prev_text'       => __('<i class="fa fa-angle-left fa-lg" aria-hidden="true"></i>'),
        'next_text'       => __('<i class="fa fa-angle-right fa-lg" aria-hidden="true"></i>'),
        'type'            => 'plain',
        'add_args'        => false,
        'add_fragment'    => ''
    );

    $paginate_links = paginate_links($pagination_args);

    if ($paginate_links) {
        echo "<nav class='custom-pagination'>";
        echo $paginate_links;
        echo "</nav>";
    }

}
  • Вопрос задан
  • 554 просмотра
Подписаться 2 Комментировать