diff -r 7b1b88e27a20 -r 48c4eec2b7e6 wp/wp-includes/blocks/read-more.php
--- a/wp/wp-includes/blocks/read-more.php Thu Sep 29 08:06:27 2022 +0200
+++ b/wp/wp-includes/blocks/read-more.php Fri Sep 05 18:40:08 2025 +0200
@@ -8,6 +8,8 @@
/**
* Renders the `core/read-more` block on the server.
*
+ * @since 6.0.0
+ *
* @param array $attributes Block attributes.
* @param string $content Block default content.
* @param WP_Block $block Block instance.
@@ -18,21 +20,37 @@
return '';
}
- $post_ID = $block->context['postId'];
+ $post_ID = $block->context['postId'];
+ $post_title = get_the_title( $post_ID );
+ if ( '' === $post_title ) {
+ $post_title = sprintf(
+ /* translators: %s is post ID to describe the link for screen readers. */
+ __( 'untitled post %s' ),
+ $post_ID
+ );
+ }
+ $screen_reader_text = sprintf(
+ /* translators: %s is either the post title or post ID to describe the link for screen readers. */
+ __( ': %s' ),
+ $post_title
+ );
$justify_class_name = empty( $attributes['justifyContent'] ) ? '' : "is-justified-{$attributes['justifyContent']}";
$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $justify_class_name ) );
$more_text = ! empty( $attributes['content'] ) ? wp_kses_post( $attributes['content'] ) : __( 'Read more' );
return sprintf(
- '%4s',
+ '%4s%5s',
$wrapper_attributes,
get_the_permalink( $post_ID ),
esc_attr( $attributes['linkTarget'] ),
- $more_text
+ $more_text,
+ $screen_reader_text
);
}
/**
* Registers the `core/read-more` block on the server.
+ *
+ * @since 6.0.0
*/
function register_block_core_read_more() {
register_block_type_from_metadata(