如何将摘录正确格式化

时间:2020-10-30 作者:Lety

我使用的主题是the_excerpt() 函数显示文章的摘录。

所有帖子都没有设置自定义摘录,所以the_excerpt() 返回一段帖子内容。

在一些帖子中,第一段包含<br>, 例如:

<p>My new question is:<br>why words are not separated by a white space?</p>
渲染的文本为:

My new question is:why words are not separated by a white space?
在此之后post 我实施了此解决方案:

function my_excerpt($text = \'\', $raw_excerpt = \'\') {
    add_filter(\'the_content\', \'my_content\', 6);

    // get through origin filter
    $text = wp_trim_excerpt($text);

    remove_filter(\'the_content\', \'my_content\', 6);
    return $text;
}
remove_filter( \'get_the_excerpt\', \'wp_trim_excerpt\');
add_filter( \'get_the_excerpt\', \'my_excerpt\');

function my_content($text)
{
    return str_replace( \'<br>\', \' \', $text );
}
这是可行的,但我有两个问题:

为什么the_excerpt() 不能替代<br> 有空间吗此外,我对wordpress开发还很陌生,欢迎您提出任何改进代码的建议。

Update:我发现是这样报道的issue, 但不幸的是,它仍然开放。

1 个回复
SO网友:Dave Romsey

wp_trim_excerpt() 呼叫wp_trim_words() 适用于wp_strip_all_tags() 到摘录。这个<br> 标签已移除,且未替换为任何内容。

不确定这是否可行,但冒号后面有空格在语法上是正确的,将其添加到原始内容不会影响HTML,例如:

<p>My new question is: <br>why words are not separated by a white space?</p>

相关推荐

How to show excerpt field

我的摘录字段在WordPress帖子的后端消失了。即使在“屏幕选项”中勾选,也不会显示。我的函数中没有任何内容。php将覆盖它。。。那么WordPress中是否有什么东西可以阻止它的出现?