diff -r 7b1b88e27a20 -r 48c4eec2b7e6 wp/wp-includes/blocks/query-title.php --- a/wp/wp-includes/blocks/query-title.php Thu Sep 29 08:06:27 2022 +0200 +++ b/wp/wp-includes/blocks/query-title.php Fri Sep 05 18:40:08 2025 +0200 @@ -10,6 +10,8 @@ * For now it only supports Archive title, * using queried object information * + * @since 5.8.0 + * * @param array $attributes Block attributes. * * @return string Returns the query title based on the queried object. @@ -17,13 +19,36 @@ function render_block_core_query_title( $attributes ) { $type = isset( $attributes['type'] ) ? $attributes['type'] : null; $is_archive = is_archive(); - if ( ! $type || ( 'archive' === $type && ! $is_archive ) ) { + $is_search = is_search(); + if ( ! $type || + ( 'archive' === $type && ! $is_archive ) || + ( 'search' === $type && ! $is_search ) + ) { return ''; } $title = ''; if ( $is_archive ) { - $title = get_the_archive_title(); + $show_prefix = isset( $attributes['showPrefix'] ) ? $attributes['showPrefix'] : true; + if ( ! $show_prefix ) { + add_filter( 'get_the_archive_title_prefix', '__return_empty_string', 1 ); + $title = get_the_archive_title(); + remove_filter( 'get_the_archive_title_prefix', '__return_empty_string', 1 ); + } else { + $title = get_the_archive_title(); + } } + if ( $is_search ) { + $title = __( 'Search results' ); + + if ( isset( $attributes['showSearchTerm'] ) && $attributes['showSearchTerm'] ) { + $title = sprintf( + /* translators: %s is the search term. */ + __( 'Search results for: "%s"' ), + get_search_query() + ); + } + } + $tag_name = isset( $attributes['level'] ) ? 'h' . (int) $attributes['level'] : 'h1'; $align_class_name = empty( $attributes['textAlign'] ) ? '' : "has-text-align-{$attributes['textAlign']}"; $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $align_class_name ) ); @@ -37,6 +62,8 @@ /** * Registers the `core/query-title` block on the server. + * + * @since 5.8.0 */ function register_block_core_query_title() { register_block_type_from_metadata(