我对Wordpress开发很陌生。我有一个单页的代码,它只输出无限循环中的最新帖子。随着同一个帖子一次又一次地被调用,页面越来越长。如何让它按顺序显示所有帖子?
<?php
/*
* Template Name: Portfolio
*/
?>
<?php include 'header.php'; ?>
<div id="content">
<div id="content_inner">
<!--start the loop -->
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!--get posts-->
<?php query_posts('cat=uncategorized') ?>
<!--display the content-->
<?php the_content(); ?>
<!--end the loop-->
<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>
</div>
</div>
<?php include 'footer.php'; ?>
</div> <!--end allwrap-->
答案 0 :(得分:0)
当您致电query_posts
时,它会重新执行数据库查询。在循环中使用它是导致无限循环的原因。
您需要在循环之外移动以下行。
<?php query_posts('cat=uncategorized') ?>
这会给你这样的东西:
<!--get posts-->
<?php query_posts('cat=uncategorized') ?>
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<!--display the content-->
<?php the_content(); ?>
<!--end the loop-->
<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>
<?php wp_reset_query(); ?>
添加wp_reset_query()