个性化阅读
专注于IT技术分析

为什么我需要在single.php中进行wp循环

在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 ....

通过检查, 你可以在循环之前包含标题/标题, 如果循环为空, 则不包含它们。

赞(0)
未经允许不得转载:srcmini » 为什么我需要在single.php中进行wp循环

评论 抢沙发

评论前必须登录!