Why won't pagination work?

时间:2012-03-04 作者:Phill

我正在使用带有代码的页面模板来显示所有博客帖子:

<?php /* Template Name: Blog */ ?>

<?php get_header(); ?>

<div id="main">

<?php
// ACF Page number variable
$numposts = get_field(\'number_of_posts_per_page\');
$args = array( \'numberposts\' => $numposts );
$lastposts = get_posts( $args );
foreach($lastposts as $post) : setup_postdata($post);
?>

    <div class="blogpost clearfix">
    <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
    <span class="postdetails">
    <?php the_time (\'j F, Y\'); ?>&nbsp;&nbsp;<span class="bullet">&bull;</span>&nbsp;&nbsp;Posted by:&nbsp;<?php the_author(\', \'); ?>&nbsp;in:&nbsp;<?php the_category(\', \'); ?><?php the_tags( \'&nbsp;&nbsp;<span class="bullet">&bull;</span>&nbsp;&nbspTags: \', \', \', \'<br />\' ); ?>
    </span>
    <?php the_content(); ?>
    </div>
<?php endforeach; ?>


<?php wp_pagenavi(); ?>
</div>

<?php get_footer(); ?>
我的问题是我无法进行任何分页。上面我安装了pagenavi,但没有显示任何内容。我已经在我的自定义字段(显示5,共6篇帖子)和WP设置中将帖子限制设置为5。

有人能解释一下吗?谢谢

2 个回复
SO网友:hannit cohen

可能是因为您重写了默认查询,忘记了分页:-)请按以下方式更改代码:

$page = isset(get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$args = array( \'numberposts\' => $numposts, \'paged\' =>  $paged );
这样就可以了

SO网友:CraigChilds94

我不得不说,考虑到index.php 是为了这个;我想这取决于你的设置。我建议在进行自定义查询时要小心。

结束

相关推荐

WPML in custom page templates

我有一个Wordpress网站,使用WPML从丹斯克翻译成英语。在其中,我有一个页面,它使用自定义页面模板来显示所有帖子的标题。遗憾的是,它两次显示所有帖子:原文和译文。这是我的代码:<ul id=\"archive-list\"> <?php $args = array( \'lang\' => ICL_LANGUAGE_CODE, \'numberposts\' => \'-1\',