_excerpt()未在<!--more-->处修剪

时间:2019-06-17 作者:WesAtWork

我正在使用以下代码:

    <?php the_excerpt(); ?>
这是在50个单词之后修剪,在<!--more--> 我在帖子的来源中加了一句。

相反,这样可以在<!--more--> 正如所料。

    <?php the_content("", TRUE); ?>
如何更改the_excerpt() 以便返回之前的零件<!--more-->?

我试过使用get_extended() 但它不会产生与the_excerpt(); 具体而言,它没有添加<p> 标签,可能还有其他东西。

提前谢谢你。

1 个回复
SO网友:Jacob Peattie

the_excerpt() 不承认或不支持<!-- more --> 标签从…起the documentation:

这个<!--more--> quicktag需要使用模板the_content() 然而,使用摘录需要并允许模板编写器明确选择是否显示完整文章(使用the_content()) 或摘录(使用the_excerpt()).

关键是the_excerpt() 允许主题作者(您)要求摘录。这是通过修剪内容自动创建的,但如果用户需要特定摘录,则可以输入手动摘录。无论哪种方式,他们都不会意外地显示完整的帖子内容。

另一方面the_content() 让用户决定是否使用摘录。如果他们真的想要一个,那么他们就使用<!-- more --> 标签如果他们不这样做,那么他们会将其删除,并显示完整的帖子。

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

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

<?php
if ( \'excerpt\' === get_theme_mod( \'setting_name_here\' ) ) {
    the_excerpt();
} else {
    the_content( \'\', true );
}
?>

相关推荐

Child page excerpt

我有一个包含一些子页面的父页面。我想做的是在父页面上的自己的单元格中显示每个子页面摘录和一些其他信息。有人知道如何做到这一点吗?<div class=\"parent page\"> <?php $args = array( \'parent\' => $post->ID, \'post_type\' => \'page\', \'post_status\'