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

时间:2012-11-24 20:48:21

标签: php 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; ?>

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

1 个答案:

答案 0 :(得分:1)

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

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

您需要在WP_Query数组中设置offset'offset'=> 2

我们可以使用一个名为$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) ) );?>