嗨,我试图了解使用像 the_title(( 这样的模板标签是否是循环外的良好行为。
我知道这种类型的问题非常基本,但我找不到答案。
单.php - 循环内the_title:
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php the_title(); ?>
<?php endwhile; ?>
<?php endif; ?>
单.php - 循环外the_title:
<?php the_title(); ?>
我从 underscores.me 下载了一个基本主题,如果我调查这些文件,我可以看到它们中的大多数都有一个循环(也像页面这样的文件.php或单个.php包含在get_template_part包含循环的其他文件中(。
当我遵循一些教程时,我可以看到作者在循环外使用 the_title(( 并且可以工作,但是如果我阅读文档,我发现最好在内部使用它(我不是在谈论使用 echo get_the_title(( 作为替代方案(。
我发现你也可以在循环外使用single_post_title((,文档说要用单发,我发现它适用于页面.php、单.php、home.php等:
<?php single_post_title() ?>
有人可以给我正确的答案吗?
谢谢建议。
本质上,在while()
循环之外使用the_title()
仍然可以在页面上工作。
我看待这个问题的方式是,整个页面包含您正在访问的特定页面的循环。调用 the_title(( 将仅输出当前页面的标题。
要在循环中进一步使用the_title()
,您可以在该页面内创建另一个循环,通过设置新循环来循环浏览更多帖子。
您可以使用echo get_the_title($post_id);