从摘录中删除短代码,同时保留摘录长度

时间:2017-07-19 10:29:05

标签: php regex wordpress shortcode

我的一些帖子开头有一个冗长的短代码,因此当我使用get_excerpt函数时,会打印出短代码。

我想从摘录中删除短代码,但仍然可以从剩余的帖子内容中完整摘录。

例如,如果我有一个get_excerpt('150'),但我的短代码长度超过150个字符,则剥离的摘录不包含任何内容且为空白。

我已尝试获取帖子内容,删除短代码,然后修剪为150个字符,但其中包含帖子中的所有格式,包括我不想要的照片和媒体。我只想要从帖子中删除短编码的150个字符的未编制文本。

我对发布内容中的短代码不感兴趣。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

因此,经过一番搜索和反复试验后,我想出了解决问题的方法。

function filter_shortcodes_from_excerpt( $excerpt ) {
    $excerpt = wp_trim_words(strip_shortcodes(get_the_content(), 40 ));
    return $excerpt;    
}

add_filter( 'get_the_excerpt', 'filter_shortcodes_from_excerpt' );