我的WordPress分页是否犯了错误?

时间:2015-06-08 17:27:38

标签: php wordpress pagination

我正在处理的网站上的分页无法正常工作;我真的无法理解为什么它与网站中的其他模板一样。我想知道循环是否存在问题,也许我已经指定了我希望它拉出的类别。

这是我遇到问题的页面:

<div class="container content newspage">
<div class="two_third newsarticles">
<?php /* Start the Loop */ ?>
<?php $catquery = new WP_Query( 'cat=388' ); while($catquery->have_posts()) :  $catquery->the_post(); ?>
<?php get_template_part( 'content-archive', get_post_format() ); ?>
<?php endwhile; ?>
<nav id="nav-below">
<div class="nav-previous">
<?php next_posts_link( __( '<span class="meta-nav">&larr;</span> Older posts', 'anariel' ) ); ?>
</div>
<div class="nav-next">
  <?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&rarr;  </span>', 'anariel' ) ); ?>
</div>
</nav>
<!-- end nav-below -->
</div>
<!-- end two_third -->
<div class="sidebar">

    <?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Default Sidebar') ) : ?>
    <?php endif; ?>

 </div>

</div>
<!-- end container -->
<?php get_footer(); ?>

正常工作的模板位于:

<div class="container content newspage">
<div class="two_third newsarticles">
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>
<?php /* Display navigation to next/previous pages when applicable */ ?>
<?php if (  $wp_query->max_num_pages > 1 ) : ?>
<nav id="nav-below">
<div class="nav-previous">
  <?php next_posts_link( __( '<span class="meta-nav">&larr;</span> Older posts', 'anariel' ) ); ?>
</div>
<div class="nav-next">
  <?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&rarr;  </span>', 'anariel' ) ); ?>
 </div>
 </nav>
 <!-- end nav-below -->
 <?php endif; ?>
 </div>
 <!-- end two_third -->
 <aside>
 <div class="one_third lastcolumn newssidebar">
   <?php get_sidebar(); ?>
 </div>
 </aside>
 </div>
 <!-- end container -->
 <?php get_footer(); ?>

我已经尝试将其复制到模板中,但没有成功。

1 个答案:

答案 0 :(得分:1)

当您使用自定义查询时,您必须将页码添加到参数中。

<?php /* Start the Loop */ ?>
<?php 
    $paged = get_query_var('paged') ? get_query_var('paged') : 1;
    $catquery = new WP_Query( array('cat' => 388, 'paged' => $paged) ); while($catquery->have_posts()) :  $catquery->the_post(); ?>

您还应该将页数传递给get_next_posts_link

next_posts_link(  __( '<span class="meta-nav">&larr;</span> Older posts', 'anariel' ), $catquery->max_num_pages );