wordpress中的分页不起作用

时间:2017-10-26 05:03:51

标签: php wordpress pagination custom-wordpress-pages

我创建了一个自定义主页,其中有类别的名称。当我点击类别时,我将重定向到另一个名为“page-category.php”的页面,在URl中传递类别ID。在page-category.php页面中,我想捕获id并显示自定义的帖子设计,其中包含该特定类别的照片和摘录。但是,如果帖子数量超过一定数量,我想在页面上分页。分页功能都没有正常工作。这是我的代码:

$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
 $npsPosts = new WP_Query('posts_per_page=5&cat='.$cat_id.'&paged=' . $paged);
            if($npsPosts -> have_posts()):

        next_posts_link( 'Older Entries', $the_query->max_num_pages );
        previous_posts_link( 'Newer Entries' );

          <?php
                while($npsPosts->have_posts()): $npsPosts ->the_post();
                    if ( !in_array( $post->ID, $do_not_duplicate )) {  ?>
                        <div class="horizontal_post_grid_row_col cat-page-box">
                            <div class="horizontal_post_grid_row_col-img">
                                <a href='<?php the_permalink();?>'><?php the_post_thumbnail('medium-thumbnail'); ?></a>
                            </div>
                            <div class="horizontal_post_grid_row_col_content">
                                <h3 style="margin-bottom:5px;"><a href='<?php the_permalink();?>'><?php the_title();?></a></h3>
                                <span class="author_tag">Reading time : <?php echo reading_time(); ?></span> 
                                <div class="excerpt_content"><?php the_excerpt(); ?></div>
                                <div class='keep_reading_text'><a href='<?php the_permalink();?>'>Read more</a></div>
                            </div>
                        </div>
                        <div class="gap-cat">jkn</div>


                    <?php 
              }
                endwhile;

                      next_posts_link( 'Older Entries', $the_query->max_num_pages );
          previous_posts_link( 'Newer Entries' );
    else:
            endif;

我没有在function.php中添加任何内容。当我点击类别选项时,我发送的URL就像“wwww.example.com?id=108”。我正在抓取page-category.php中的ID并显示该类别ID的所有帖子。该网址变为“www.example.com/category/?id=108”。使用分页时,它就像“www.example.com/category/page/2/?id=108”。如果不是正确的方法,请建议。

1 个答案:

答案 0 :(得分:0)

删除功能next_posts_linkprevious_posts_link 并添加以下代码:

$big = 999999999; // need an unlikely integer

echo paginate_links( array(
    'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
    'format' => '?paged=%#%',
    'current' => max( 1, get_query_var('paged') ),
    'total' => $npsPosts->max_num_pages
) );