在WordPress主题开发中, 我们可以使用single.php来显示特定的单个帖子。
为此, 通常的做法是:
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php the_content();?>
<?php endwhile; ?>
<?php endif; ?>
为什么需要循环显示单个帖子?任何人都可以给出正当理由吗?
#1
WordPress循环实例化了一些功能, 例如the_title(), the_content()和其他功能。
换句话说, 你的帖子被加载到该循环中, 并且如果你在单个帖子中, 则循环将循环一次。尽管有一个循环可能很奇怪, 但实际上它非常有用。
WordPress使用模板层次结构, 这是一种选择为给定帖子/页面加载哪个模板的方法。在你的single.php中, 循环将运行一次。但是, 如果你没有单个.php文件, 则WordPress将在同一帖子中使用index.php。
为了保持一致性, 有一个适用于任意数量帖子的循环都是有帮助的。否则, 在index.php中, 你将需要为一个帖子编写一个案例, 为多个帖子编写另一个案例, 并且保持一致的模板方法将很困难。
#2
这是使我丧命多年的东西, 但我找到了答案:不, 你不需要在单个页面中使用LOOP, 只需调用the_post()即可获得所有数据
.... BUT ....
如果你不使用循环(while(have_posts())..), 则不会调用钩子” loop_end”, 并且如果插件/进程对该钩子有任何操作, 则它将不起作用。因此, 出于安全原因, 你应该使用循环。
另外, 人们问我是否需要在循环之前检查是否存在:if(have_posts())?
<?
if( have_posts() ):
while( have_posts() ):
the_post();
.....
endwhile;
endif
?>
不, 你不需要检查
.... BUT ....
通过检查, 你可以在循环之前包含标题/标题, 如果循环为空, 则不包含它们。
评论前必须登录!
注册