diff -r 48c4eec2b7e6 -r 8c2e4d02f4ef wp/wp-includes/blocks/post-date.php --- a/wp/wp-includes/blocks/post-date.php Fri Sep 05 18:40:08 2025 +0200 +++ b/wp/wp-includes/blocks/post-date.php Fri Sep 05 18:52:52 2025 +0200 @@ -20,8 +20,20 @@ return ''; } - $post_ID = $block->context['postId']; - $formatted_date = get_the_date( empty( $attributes['format'] ) ? '' : $attributes['format'], $post_ID ); + $post_ID = $block->context['postId']; + + if ( isset( $attributes['format'] ) && 'human-diff' === $attributes['format'] ) { + $post_timestamp = get_post_timestamp( $post_ID ); + if ( $post_timestamp > time() ) { + // translators: %s: human-readable time difference. + $formatted_date = sprintf( __( '%s from now' ), human_time_diff( $post_timestamp ) ); + } else { + // translators: %s: human-readable time difference. + $formatted_date = sprintf( __( '%s ago' ), human_time_diff( $post_timestamp ) ); + } + } else { + $formatted_date = get_the_date( empty( $attributes['format'] ) ? '' : $attributes['format'], $post_ID ); + } $unformatted_date = esc_attr( get_the_date( 'c', $post_ID ) ); $classes = array(); @@ -38,7 +50,12 @@ */ if ( isset( $attributes['displayType'] ) && 'modified' === $attributes['displayType'] ) { if ( get_the_modified_date( 'Ymdhi', $post_ID ) > get_the_date( 'Ymdhi', $post_ID ) ) { - $formatted_date = get_the_modified_date( empty( $attributes['format'] ) ? '' : $attributes['format'], $post_ID ); + if ( isset( $attributes['format'] ) && 'human-diff' === $attributes['format'] ) { + // translators: %s: human-readable time difference. + $formatted_date = sprintf( __( '%s ago' ), human_time_diff( get_post_timestamp( $post_ID, 'modified' ) ) ); + } else { + $formatted_date = get_the_modified_date( empty( $attributes['format'] ) ? '' : $attributes['format'], $post_ID ); + } $unformatted_date = esc_attr( get_the_modified_date( 'c', $post_ID ) ); $classes[] = 'wp-block-post-date__modified-date'; } else {