使用functions.php中的以下代码片段,可以控制WP帖子的WP默认(自动)摘录长度;

WP Codex

// . Post excerpt adjustment (Auto)
// . ==============================
function wpdocs_custom_excerpt_length( $length ) {
    return 20;
}
add_filter( 'excerpt_length', 'wpdocs_custom_excerpt_length', 999 );



(*)有一个8岁的问题here,确实提供了一些背景信息,但是鉴于当前的年份和进展,WP使我想再次发布该问题并获得关于该主题的一些清晰信息。

添加了上下文:(编辑:2019年3月12日)

这并不是说早先发布的问题的原始答案不起作用,尽管看起来确实很笨拙。我正在寻找使用exerpt_length过滤器的更简单且更可靠的答案。而不是使用类似下面的内容来修剪文本; (如果可能的话)
function excerpt($limit) {
    return wp_trim_words(get_the_excerpt(), $limit);
}

最佳答案

默认情况下,我们在核心中进行以下过滤:

add_filter( 'get_the_excerpt', 'wp_trim_excerpt' );

但在wp_trim_excerpt()中,如果未设置手动摘录,则修剪仅应用于帖子的内容。

这是未经测试的自定义过滤建议:
add_filter( 'get_the_excerpt', function( $excerpt, $post ) {
    if ( has_excerpt( $post ) ) {
        $excerpt_length = apply_filters( 'excerpt_length', 55 );
        $excerpt_more   = apply_filters( 'excerpt_more', ' ' . '[…]' );
        $excerpt        = wp_trim_words( $excerpt, $excerpt_length, $excerpt_more );
    }
    return $excerpt;
}, 10, 2 );

在手册摘录中应用类似的修整。

希望您可以进一步调整以适应您的需求。

关于php - 如何限制WP中的手动摘录长度?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55080012/

10-12 00:22
查看更多