Query_Posts分页将始终显示相同的内容

时间:2012-06-07 作者:WouterB

有人知道为什么我的分页不起作用吗?我可以显示“上一页”,但当导航到“第2页”时,内容将与“第1页”上的内容保持一致。

<?php
/*
Template Name: Generic Trips Template
*/
?>
<?php get_header(); ?>

        <?php get_template_part( "beforeloop", "page" ) ?>
                                    <?php $types = $post->post_name; ?>


 <?php if (have_posts()) : ?>
     <?php $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1; query_posts(array( \'post_type\' => \'trips\', \'types\' => $types, "posts_per_page" => 5)); ?>
        <?php while (have_posts()) : the_post(); ?>



                        <article id="post-<?php the_ID(); ?>" class="post">


                        </article>

<?php endwhile; ?>

<?php if(function_exists(\'wp_pagenavi\')) : ?>
                           <div class="pnavi">
            <?php wp_pagenavi(); ?>
                           </div>
        <?php else : ?>
            <div class="alignleft"><?php next_posts_link(__(\'&laquo; Older Entries\')); ?></div>
            <div class="alignright"><?php previous_posts_link(__(\'Newer Entries &raquo;\')); ?></div>
        <?php endif; ?>

<?php endif; wp_reset_query(); ?>


                  <?php get_template_part( "afterloop", "page" ) ?> 

<?php get_footer(); ?>

2 个回复
最合适的回答,由SO网友:Stephen Harris 整理而成

Don\'t use query_posts!

正如尤金指出的,你省略了paged 变量然而,即使这样,你也可能会有意想不到的行为。正如我们遇到的各种问题所说明的query_posts 和分页:

SO网友:Eugene Manuilov

您必须添加paged 参数到query_posts 呼叫应该是这样的:

<?php 
    $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
    query_posts(array( 
        \'post_type\' => \'trips\', 
        \'types\' => $types, 
        \'posts_per_page\' => 5,
        \'paged\' => $paged,
    ) );
?>
了解更多信息WP_Query 尤其是在法典中pagination 部分

结束

相关推荐

The pagination doesn't work

我已经创建了一个新的WordPress主题,我完成了。。但我有一个问题。我无法进行分页。我使用“wp paginate”插件,并在索引中添加了以下代码。php:<?php if(function_exists(\'wp_paginate\')) { wp_paginate(); } ?> 但这对我的网站不起作用。前端和标记中仍然没有任何内容。我能做什么?这是我的索引。php: <?php get_header(); ?>