Pagination - not progressing

时间:2014-08-19 作者:steakpi

好的,我添加了以下分页标记:

<?php next_posts_link( \'Older posts\' ); ?>
<?php previous_posts_link( \'Newer posts\' ); ?>
我可以在地址栏中看到查询字符串正在正确更改

e、 g.localhost:8888/wordpress/?页码=3

但是,页面结果保持不变(显示最初的前10个结果)。

我这里出了什么问题?

编辑:

下面是代码(没有任何HTML):

<!--Latest Post-->
<?php query_posts(\'posts_per_page=1\'); while(have_posts()) : the_post(); ?>
    <?php echo get_avatar( get_the_author_meta( \'ID\' ), 125 ); ?>
    <?php the_title(); ?>
    <?php the_time(\'F jS, Y\'); ?>
    <?php the_author(); ?>
    <?php the_excerpt(); ?>
<?php endwhile; wp_reset_query(); ?>    

<!-- Next set of posts to display on page -->
<?php query_posts(\'posts_per_page=10&offset=1\'); while(have_posts()) : the_post(); ?>       
    <?php echo get_avatar( get_the_author_meta( \'ID\' ), 125 ); ?>
    <?php the_title(); ?>
    <?php the_time(\'F jS, Y\'); ?>
    <?php the_author(); ?>
    <?php the_excerpt(); ?>
<?php endwhile; wp_reset_query(); ?>

<!--Pagination-->
<?php next_posts_link( \'Older posts\' ); ?>
<?php previous_posts_link( \'Newer posts\' ); ?>
希望一切看起来都正常。页面显示得很好,只是分页不正常。。。然而

1 个回复
SO网友:Tomás Cot

您应该使用WP_Query 这里,对于分页,您还需要使用paged 参数,因为Wordpress需要它来计算偏移量。

我想您可以用WP\\u Query替换这两个查询,为了避免两次显示第一篇文章,请将ID保存在变量中并将其传递给post__not_in 第二个查询中的参数。

    $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
    $args = array(
      \'posts_per_page\' => 10,
      \'paged\' => $paged,
      \'post__not_in\' => $first_post

    );

<?php query_posts($args); while(have_posts()) : the_post(); ?>       
    <?php echo get_avatar( get_the_author_meta( \'ID\' ), 125 ); ?>
    <?php the_title(); ?>
    <?php the_time(\'F jS, Y\'); ?>
    <?php the_author(); ?>
    <?php the_excerpt(); ?>
<?php endwhile; wp_reset_query(); ?>
以及$first_post 是具有第一个帖子id的数组。您可以这样设置:

$first_post = array(get_the_ID());
此代码应位于第一个循环中。

这是在使用您的代码,不建议这样做,但无论如何它都应该可以工作。

结束

相关推荐

Pagination on Custom Loop

我想将最新帖子的样式与自定义页面上某个类别中的所有其他帖子的样式不同。到目前为止,我有下面的代码,它正是这样做的:<?php if (have_posts()) : ?> <?php query_posts(\"cat=4&showposts=1\"); ?> <?php while (have_posts()) : the_post(); ?> (Style1)<?php the_title(); ?><