Make WordPress Core

Opened 7 months ago

Last modified 7 months ago

#59348 new defect (bug)

Excerpt block length is not full customizable any more

Reported by: frzsombor's profile frzsombor Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: Posts, Post Types Keywords:
Focuses: Cc:


Since the latest changes in /src/wp-includes/blocks/post-excerpt.php now the excerpt length is not fully customizable any more. The problem is that previously $excerpt = get_the_excerpt(); was used, which was filterable with get_the_excerpt, but now this excerpt is just getting forcefully trimmed by wp_trim_words based on the excerptLength option. Which is: a) A number forced to be between 10-100 b) now can not be changed or overwritted with custom code in any way.

If I want to display the excerpt of a post on the post's page, now there is no way to correctly display an excerpt that is longer than 100 words. I think this is a loss in features and a bad practice to limit the excerpt's usage in this way. At least allow $excerpt_length = $attributes['excerptLength']; to be modified with the already existing excerpt_length filter.

Mentioned change:

Change History (2)

#2 @frzsombor
7 months ago

I just found a way to edit default block settings with "Block Hooks" (block filters), for example:

function fzs_filter_metadata_registration( $metadata ) {
    if ($metadata['name'] === 'core/post-excerpt') {
        $metadata['attributes']['excerptLength'] = [
            'type' => 'number',
            'default' => 9999,
    return $metadata;
add_filter( 'block_type_metadata', 'fzs_filter_metadata_registration' );
Last edited 7 months ago by frzsombor (previous) (diff)
Note: See TracTickets for help on using tickets.