自定义摘录长度过滤器不起作用

时间:2018-04-04 作者:Skovsgaard

所以我试图改变标准的帖子摘录长度。

网络上的每一篇博文都告诉我要使用这样的过滤器:

add_filter( \'excerpt_length\', \'custom_excerpt_length\', 999 );
function custom_excerpt_length( $length ) {
return 15; // Length of the excerpt in number of words
}
问题是摘录长度没有变化。所有文本都被输出,而不仅仅是15个单词。我不知道为什么这本应该是解决方案,却不起作用。

我正在使用<?php the_excerpt(); ?> 在主页上的post循环中。php,类别。php和标记。php输出摘录。

1 个回复
最合适的回答,由SO网友:Fabián Vera 整理而成

对于任何想知道的人,因为自定义摘录不会被excerpt_length 筛选器挂钩,请尝试添加此筛选器:

function trim_custom_excerpt($excerpt) {
    if (has_excerpt()) {
        $excerpt = wp_trim_words(get_the_excerpt(), apply_filters("excerpt_length", 55));
    }

    return $excerpt;
}

add_filter("the_excerpt", "trim_custom_excerpt", 999);

结束

相关推荐

在Get_the_Posts_Pagination函数中编辑分页文本

我想在链接模板中编辑screen\\u reader\\u文本。php我可以在一个主题中这样做,这样它就不会在更新时被覆盖。看起来过滤器是最好的选择,但我找不到关于使用什么过滤器的文档。这是我想从链接模板更改的代码。php: if ( $GLOBALS[\'wp_query\']->max_num_pages > 1 ) { $args = wp_parse_args( $args, array( \'mid_size\' =&