分页定制循环不工作(Pagination in custom loop not working)

2019-10-18 11:45发布

我已经搜查几个主题和问题关于这个问题,但我haven't发现适合我的代码的任何答复。

显示我的自定义信息的分页,但是当我点击Show next posts >>从以前的页面相同的帖子显示,即使网址显示?paged=2

我的代码如下:

<div class="podcast-entries">
    <?php
    $args = array( 'post_type' => 'strn5_podcasts',
                   'posts_per_page' => 3,
                   'paged' => (get_query_var('paged') ? get_query_var('paged') : 1 );
    $temp = $wp_query;
    $wp_query = null;
    $wp_query = new WP_Query( $args );

    if ( $wp_query->have_posts() ) : 
    while ( $wp_query->have_posts() ) :
    $wp_query->the_post();
    ?>

        <div <?php post_class(); ?> >

            <h4 class="podcast-title"><?php the_title(); ?></h4>

            <div class="podcast-content">
                <?php the_content(); ?>
            </div>

            <h6><?php the_time('F j, Y'); ?></h6>

            <div class="post-separator col-lg-12"></div>

        </div>

    <?php endwhile; endif; ?>

    <div class="navigation-links">

        <div class="next-post">
            <?php next_posts_link( '>> Siguiente Entrada' ); ?>
        </div>

        <div class="previous-post">
            <?php previous_posts_link( 'Anterior Entrada >>' ); ?>
        </div>

    </div>

    <?php $wp_query = null; 
    $wp_query = $temp;
    wp_reset_query(); ?>

</div> <!-- .podcast-entries -->

Answer 1:

通常我做什么东西的时候不工作,是我从一切剥夺,并开始与裸基础重建它,看问题可能是什么。

你为什么不尝试循环的一个简单的形式,看看你能得到它的prin.t

<?php query_posts(array('posts_per_page' => 3, 'post_type' => 'strn5_podcasts', 'paged' => get_query_var('page'))); if (have_posts()) : while (have_posts()) : the_post(); ?>
  <p><?php the_title(); ?></p>
<?php endwhile; endif;?>

<div class="navigation-links">
  <div class="next-post"><?php next_posts_link( '>> Siguiente Entrada' ); ?></div>
  <div class="previous-post"><?php previous_posts_link( 'Anterior Entrada >>' ); ?></div>
</div>

这几乎是你正在做的(几乎),但没有任何变量或任何其他事情,“可能”出问题了同样的事情。

编辑

最终事实证明,该paged参数可与使用pagedpage ,在这种情况下,摸索出适合您page ,而不是paged

因此,它结束了看起来像这样:

'paged' => get_query_var('page')

最后要注意,使用get_query_var('page')如果你正在使用的查询的帖子中,你已经设为您的主页自定义页面模板是必要的。



Answer 2:

我同意硫磺。 我想更具体的,虽然,这三条线是问题:

$temp = $wp_query;
$wp_query = null;
$wp_query = new WP_Query( $args );

根据关你的描述好像这会导致问题,如果$wp_query被抓为NOT NULL。 我不知道为什么你甚至不得不在那里,但你必须有你的理由。

至少,把它拿出来的是,前两行,以帮助您解决。



文章来源: Pagination in custom loop not working