0

我对 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-->
4

1 回答 1

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()

于 2012-10-29T20:33:08.640 回答