嗨,我想知道使用像the_title()这样的模板标签在循环之外是不是很好的行为。
我知道这类问题很基本,但我找不到答案。
循环内的single.php - the_title:
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<?php the_title(); ?>
<?php endwhile; ?>
<?php endif; ?>
循环外的single.php - the_title:
<?php the_title(); ?>
我从underscores.me下载了一个基本主题,如果我研究一下这些文件,我会发现它们中的大多数都有一个循环(还有像page.php或single.php这样的文件,包含在get_template_part中,还有其他包含循环的文件)。
当我遵循一些教程时,我可以看到作者在循环之外使用the_title(),它是有效的,但如果我阅读了文档,我发现在内部使用它更好(我不是在谈论使用echo get_the_title()作为替代方法)。
我发现你也可以在循环之外使用single_post_title(),文档说在单个post中使用它,我发现它在page.php,single.php,home.php等上都有效:
<?php single_post_title() ?>
有人能给我正确的答案吗?
谢谢你的建议。
发布于 2018-07-03 02:41:19
从本质上讲,在while()
循环之外使用the_title()
仍然可以在页面上工作。
我对此的看法是,整个页面都包含您正在访问的特定页面的循环。调用the_title()只会输出当前页面的标题。
要在循环中进一步使用the_title()
,您可以在所述页面内创建另一个循环,通过设置一个新循环来循环通过更多的posts。
发布于 2018-07-03 03:37:49
您可以使用echo get_the_title($post_id);
https://stackoverflow.com/questions/51140296
复制相似问题