wordpress循环看起来像这样(来自docs)
<
?php
if ( have_posts() ) {
while ( have_posts() ) {
the_post();
//
// Post Content here
//
} // end while
} // end if
?>
在执行while(have_posts())之前检查(Have_posts())对我来说似乎很奇怪。毕竟, 在while循环的第一次迭代中进行了完全相同的检查。
我能想到的if语句唯一有用的情况是执行else语句以显示一些条件文本, 指示不存在任何帖子。
是否有理由包括此if语句, 但实际上并没有使用? (我问是因为它对我来说看起来像是冗余代码, 但是文档指定我应该使用它)
#1在我的示例中, if语句似乎是多余的, 但是总的来说, 不建议省略if语句。
if语句通常用于:
- 输出类似未找到帖子的内容, 以表明相关类别未分配任何文章。
- 决定是否在文章前后输出周围的html(如ul)。
如果添加了新的钩子怎么办?
不使用if语句的另一个可能的问题是, 如果wordpress团队曾经决定添加一个新的钩子, 该钩子在第一个$ wp_query-> have_posts()调用中触发, 那么它将在错误的时间触发。如果这导致了意外行为, 则可能是由于你未正确遵循规范而造成的。
其他开发人员希望看到wordpress循环的特定结构
我想其他开发人员希望看到整个wordpress循环。因此, 让他们搜索不存在的if语句可能不是一个好主意。
#2【为什么在wordpress循环中有一个if语句】如果你想在循环中没有帖子时添加一些” else” 语句, 则使用此处的if语句
else {
echo 'no posts found!';
}
推荐阅读
- 为什么此hero图像会覆盖固定导航栏,但在滚动浏览后会重新显示导航栏()
- 删除ajax加载更多插件后,为什么我的WordPress电子商务网站中的导航样式不正确()
- 为什么在pre_get_posts钩子中的is_main_query()在主循环中时不返回true()
- 为什么我在wordpress返回帖子中的类别模板不在相关类别中()
- 为什么我需要在single.php中进行wp循环
- 如果键为空,为什么获取发布元单参数不起作用
- 为什么我的自定义帖子类型无法使用WP_QUERY()
- PHP基本语法
- 人工智能无人干预垃圾发电全面解决方案