WordPress在每个页面分页中显示相同的帖子



我进行了分页,但它不起作用,在每个页面中显示相同的帖子。

法典:

<?php if ( have_posts() ) : ?>
    <?php $query = new WP_Query( array('post_type' => 'post', 'kalba' => 'Lietuviu', 'posts_per_page' => 2) );?>
    <?php while ( $query->have_posts() ) : $query->the_post();?>
        <h2 class="title"><a href ="<?php the_permalink();?>"><?php echo $query->post->post_title;?></a></h2>
        <div class="date"><?php echo mysql2date('Y-m-d', $query->post->post_date);?></div>
        <div class="post"><p><?php echo $query->post->post_content;?></p></div>
    <?php endwhile;?>
    <? $big = 999999999; // need an unlikely integer
        echo paginate_links( array( 'base'    => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
                            'format'  => '?paged=%#%',
                            'current' => max( 1, get_query_var( 'paged' ) ),
                            'total'   => $query->max_num_pages,
                            'end_size'=> 1,
                            'mid_size'=> 10 ) );?>
<?php endif; ?>

找不到问题,也许问题是我使用了"分类法"。

问题是您一遍又一遍地执行相同的查询:

<?php $query = new WP_Query( array('post_type' => 'post', 'kalba' => 'Lietuviu', 'posts_per_page' => 2) );?>

您需要在WP_Query数组中设置偏移量:'offset'=> 2

我们可以通过使用 wordpress 使用的称为 $page 的全局变量来计算偏移量,方法是使用一个简单的等式:$offset = ($page -1) * $post_per_page;

因此,您的最终WP_QUERY应如下所示:

<?php $query = new WP_Query( array('post_type' => 'post', 'kalba' => 'Lietuviu', 'posts_per_page' => 2, 'offset'=> (($page -1) * 2) ) );?>

最新更新