我遇到一个奇怪的问题,即我的博客索引存档页面(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' ); ?>
<? } }
?>
答案 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