Wordpress分页没有显示在类别页面上

时间:2019-07-17 09:47:18

标签: php wordpress wordpress-theming

我需要有关WordPress分页的帮助。

我正在尝试对我的类别页面中的所有帖子进行分页。我在循环末尾添加了paginate_links()函数,但前端未显示任何内容。

这是我用于显示所有“设计”帖子的代码:

<div role="main">
  <h3 class="page-title">RECENT POSTS IN DESIGN</h3>
    <div id="full-post-list" class="row between-xs margin-category-title">
        <?php
        if( is_category() ) {
        $cat = get_query_var('cat');
        $args = array(
                'offset' => 1,
                'posts_per_page' => 21,
                'cat'            => $cat,
                'orderby'        => 'date',
                'order'          => 'DESC',
                'post_not_in'    => get_option( 'sticky_posts' )
                    );
        $query = new WP_Query($args);
        if ( $query->have_posts() ) {  
        while( $query->have_posts() ) {  
            $query->the_post();      
            get_template_part( 'content', 'latest' );
                    }
                    }   
                }
                ?>
    </div>      
    <div id="pagination">
        <?php echo paginate_links(); ?>
    </div>
</div>

一个奇怪的事情是,如果我在浏览器URL栏中输入mysite.com/category/design/page/2,我看不到404错误,但我始终显示第一页(分页链接始终被隐藏) )。

有什么主意吗?我在做什么错了?

谢谢!

1 个答案:

答案 0 :(得分:0)

您应该像这样将参数传递给此函数,总页面可从$ query获取:

echo paginate_links(array(
            'base' => get_pagenum_link(1) . '%_%',
            'format' => '/page/%#%',
            'current' => $current_page,
            'total' => $total_pages,
            'prev_text'    => __('« prev'),
            'next_text'    => __('next »'),
        ));

或定义全局$ wp_query,它将使用默认参数自动分页:

<?php
global $wp_query
        if( is_category() ) {
$wp_query = new WP_Query($args);