首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >the_excerpt()不在<!->

the_excerpt()不在<!->
EN

WordPress Development用户
提问于 2019-06-17 07:52:36
回答 1查看 163关注 0票数 0

我使用以下代码:

代码语言:javascript
复制
    <?php the_excerpt(); ?>

这是在50个ish单词之后,我在文章的源代码中添加的<!--more-->之后的一段时间。

相反,这将像预期的那样正确地裁剪<!--more-->之前的部分。

代码语言:javascript
复制
    <?php the_content("", TRUE); ?>

如何更改the_excerpt(),使其在<!--more-->之前返回该部分?

我试过使用get_extended(),但它没有产生与the_excerpt()相同的输出;具体来说,它没有添加<p>标记,可能还有其他一些东西。

提前谢谢你。

EN

回答 1

WordPress Development用户

发布于 2019-06-17 08:20:03

the_excerpt()不识别或支持<!-- more -->标记。来自文献资料

<!--more-->快速标记要求模板使用the_content(),而使用摘录则需要并允许模板编写者显式地选择显示完整文章(使用the_content())还是显示摘要(使用the_excerpt())。

关键是the_excerpt()允许主题作者(您)需要一段摘录。这是自动创建的内容,但如果用户需要一个特定的摘录,然后他们可以输入一个手动摘录。无论哪种方式,它们都不能意外地显示完整的post内容。

另一方面,the_content()允许用户决定是否使用节选。如果他们确实想要一个,那么他们就使用<!-- more -->标记。如果他们不这样做,那么他们会忽略它,完整的帖子将被显示出来。

作为一个主题作者,你需要决定你应该支持哪一个。如果显示文章的全部内容会破坏您的布局,那么您应该使用the_excerpt(),但是如果主题看起来很好,那么使用the_content()

如果您希望用户在这些选项之间做出决定,那么您可以创建一个定制设置,让用户选择。然后,在模板中可以检查这个值并使用适当的标记:

代码语言:javascript
复制
<?php
if ( 'excerpt' === get_theme_mod( 'setting_name_here' ) ) {
    the_excerpt();
} else {
    the_content( '', true );
}
?>
票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/340675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档