diff -r 7b1b88e27a20 -r 48c4eec2b7e6 wp/wp-includes/blocks/post-date.php --- a/wp/wp-includes/blocks/post-date.php Thu Sep 29 08:06:27 2022 +0200 +++ b/wp/wp-includes/blocks/post-date.php Fri Sep 05 18:40:08 2025 +0200 @@ -8,6 +8,8 @@ /** * Renders the `core/post-date` block on the server. * + * @since 5.8.0 + * * @param array $attributes Block attributes. * @param string $content Block default content. * @param WP_Block $block Block instance. @@ -18,10 +20,34 @@ return ''; } - $post_ID = $block->context['postId']; - $align_class_name = empty( $attributes['textAlign'] ) ? '' : "has-text-align-{$attributes['textAlign']}"; - $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $align_class_name ) ); - $formatted_date = get_the_date( empty( $attributes['format'] ) ? '' : $attributes['format'], $post_ID ); + $post_ID = $block->context['postId']; + $formatted_date = get_the_date( empty( $attributes['format'] ) ? '' : $attributes['format'], $post_ID ); + $unformatted_date = esc_attr( get_the_date( 'c', $post_ID ) ); + $classes = array(); + + if ( isset( $attributes['textAlign'] ) ) { + $classes[] = 'has-text-align-' . $attributes['textAlign']; + } + if ( isset( $attributes['style']['elements']['link']['color']['text'] ) ) { + $classes[] = 'has-link-color'; + } + + /* + * If the "Display last modified date" setting is enabled, + * only display the modified date if it is later than the publishing date. + */ + 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 ); + $unformatted_date = esc_attr( get_the_modified_date( 'c', $post_ID ) ); + $classes[] = 'wp-block-post-date__modified-date'; + } else { + return ''; + } + } + + $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => implode( ' ', $classes ) ) ); + if ( isset( $attributes['isLink'] ) && $attributes['isLink'] ) { $formatted_date = sprintf( '%2s', get_the_permalink( $post_ID ), $formatted_date ); } @@ -29,13 +55,15 @@ return sprintf( '
', $wrapper_attributes, - esc_attr( get_the_date( 'c', $post_ID ) ), + $unformatted_date, $formatted_date ); } /** * Registers the `core/post-date` block on the server. + * + * @since 5.8.0 */ function register_block_core_post_date() { register_block_type_from_metadata(