为什么像single.php这样的WordPress模板会在(has_posts())上循环?

时间:2014-01-15 01:27:44

标签: wordpress

在Twenty Fourteen主题和专家撰写的许多其他主题中,single.php包含代码:

while ( have_posts() ) : the_post();
get_template_part( 'content', 'page' );
endwhile;

这与

有什么不同或更好
the_post();
get_template_part( 'content', 'page' );

是否存在WordPress可能希望single.php能够显示多于或少于一个帖子的情况,还是作者选择使用while循环的另一个原因?

1 个答案:

答案 0 :(得分:0)

默认情况下while ( have_posts() ) : the_post();是存在的,因此您可以像下面的示例代码中那样放置条件逻辑,并且只有在没有帖子或永久链接更改的情况下才会获得404。

<?php endwhile; else: ?>
<p><?php _e('Sorry, no posts matched your criteria.'); ?></p>
<?php endif; ?>

希望它有所帮助。