为什么下一页加载的是相同的内容,而不是较旧的文章?

时间:2011-08-17 作者:mgPePe

出于某种原因,主页上的“以前的帖子”和“以后的帖子”不会加载以前的帖子,而是加载主页上相同的帖子。

为什么会这样?我甚至不知道从哪里开始调试。。。

我有以下可能与loop.php 文件:

if ( is_home() ) {
query_posts($query_string . \'&cat=-13,\'); 
}
while ( have_posts() ) : the_post(); ?>
// This following line added to exclude posts that have custom variable ad=true:
<?php if ( get_post_meta($post->ID, \'ad\', true) == \'\') {  ?>
。。。这里有帖子显示。。。

<?php } // Ending the exlusion of \'ad\' ?>
<?php endwhile; // End the loop. Whew. ?>

<?php if (  $wp_query->max_num_pages > 1 ) : ?>
            <div id="nav-below" class="navigation">
                <div class="nav-previous"><?php next_posts_link( __( \'<span class="meta-nav">&larr;</span> Предишни статии\', \'twentyten\' ) ); ?></div>
                <div class="nav-next"><?php previous_posts_link( __( \'Следващи статии <span class="meta-nav">&rarr;</span>\', \'twentyten\' ) ); ?></div>
            </div><!-- #nav-below -->
<?php endif; ?>
如果不是在这些片段中,问题还会在哪里?我如何调试它?

2 个回复
最合适的回答,由SO网友:Sisir 整理而成

您正在使用\'posts_per_page\'\'paged\' 在查询字符串中?如果没有,请尝试添加

$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$query .= \'posts_per_page=5&paged=\'.$paged
数字5将替换为您希望显示下一页(分页)链接的帖子数。

同时删除下一页链接上的if语句

if ( $wp_query->max_num_pages > 1 )

SO网友:Jack

这是因为您的主页正在使用自己的query\\u posts调用,而query\\u posts调用将从特定类别返回所有帖子。由于这是唯一的限制,它将始终检索和显示相同的帖子。

结束

相关推荐

How do I order my loop query?

我的数据库中有一个表,其中包含我试图排序帖子的投票统计。屏幕截图:the table我尝试过这样的方法,它可以显示所有投票的帖子和分页,但不会按DESC排序。如果我接近这一权利,任何建议都将不胜感激。 <?php global $wpdb; $my_posts = $wpdb->get_col(\"SELECT like_pid FROM wp_likes_count ORDER BY like_count\"); $paged = (get_query_var(