WordPress索引存档无法正常工作(上一个/下一个)

时间:2014-08-02 13:02:47

标签: wordpress

我遇到一个奇怪的问题,即我的博客索引存档页面(Previous Link)不起作用,并且会进入404页面。

我将网页设置为网站的索引,而新闻(博客)部分位于名为“新闻”的单独页面中。归档分页适用于类别归档,它似乎只是index.php循环,不允许归档分页由于某种原因而起作用。任何帮助将不胜感激,这是我的主题的index.php文件中的代码,该文件深入到帖子的循环中:

<?php       

                $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
                $args = array(
                    // 'cat' => -13, // Exclude Guide To's
                    'order' => 'DESC',
                    'paged' => $paged,
                    'ignore_sticky_posts' => true
                    );

                $latest_posts = new WP_Query( $args );  
                if ( $latest_posts->have_posts() ) {
                    while ( $latest_posts->have_posts() ) {
                    $latest_posts->the_post(); ?>

                    <?php get_template_part( 'content', 'post' ); ?>

                <? }  } 

            ?>

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您已设置静态首页。在那种情况下

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

错了。 paged用于任何页面,静态首页除外。静态首页使用page。所以你应该将上面提到的行改为

$paged = (get_query_var('page')) ? get_query_var('page') : 1;

修改

还应针对自定义查询调整next_posts_link。您必须设置$max_pages参数

next_posts_link( 'Older Entries', $latest_posts->max_num_pages );

编辑2

好像你的重写规则似乎是个问题。将以下内容添加到functions.php中并重新加载索引页几次。

function bt_flush_rewrite_rules() {
     flush_rewrite_rules();
}

请注意您应该在重新加载索引页面几次后立即删除此功能。 flush_rewrite_rules()是一项非常昂贵的操作,对资源非常困难,所以如果真的有必要,它应该 ONLY