wordpress循环如下所示(来自docs)
<?php
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
//
// Post Content here
//
} // end while
} // end if
?>
在执行if ( have_posts() )
之前检查while ( have_posts() )
对我来说似乎很奇怪。毕竟,在while循环的第一次迭代中进行了完全相同的检查。
我认为if语句很有用的唯一情况是执行else语句以显示一些条件文本,指示不存在帖子。
是否有理由包括此if语句,但实际上并没有使用? (我问是因为它对我来说似乎是多余的代码,但是the docs指定我应该使用它)
答案 0 :(得分:0)
在我的示例中,if语句似乎是多余的,但是总的来说,不建议省略if语句。
if语句通常用于:
no posts found
之类的字样,以表明所涉及的类别未分配任何文章。如果添加了新的钩子怎么办?
不使用if语句的另一个可能的问题是,如果wordpress团队决定添加一个新的钩子,该钩子会在第一个$wp_query->have_posts()
调用时触发,那么它将在错误的时间触发。并且,如果这导致意外行为,则可能是您未正确遵循规范所致。
其他开发人员希望看到wordpress循环的特定结构
我想其他开发人员希望看到整个wordpress循环。因此,让他们搜索不存在的if语句可能不是一个好主意。
答案 1 :(得分:0)
当我们在循环中没有帖子时想要添加一些“ else”语句时,将使用此处的if语句
else {
echo 'no posts found!';
}