Opened 2 years ago
Last modified 2 years ago
#59348 new defect (bug)
Excerpt block length is not full customizable any more
| Reported by: |
|
Owned by: | |
|---|---|---|---|
| Milestone: | Awaiting Review | Priority: | normal |
| Severity: | normal | Version: | |
| Component: | Posts, Post Types | Keywords: | |
| Focuses: | Cc: |
Description
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.
Change History (2)
#2
@
2 years ago
Update:
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' );
same as https://core.trac.wordpress.org/ticket/59270