diff -r be944660c56a -r 3d72ae0968f4 wp/wp-includes/blocks/comments-title.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wp/wp-includes/blocks/comments-title.php Tue Sep 27 16:37:53 2022 +0200 @@ -0,0 +1,97 @@ + $align_class_name ) ); + $comments_count = get_comments_number(); + /* translators: %s: Post title. */ + $post_title = sprintf( __( '“%s”' ), get_the_title() ); + $tag_name = 'h2'; + if ( isset( $attributes['level'] ) ) { + $tag_name = 'h' . $attributes['level']; + } + + if ( '0' === $comments_count ) { + return; + } + + if ( $show_comments_count ) { + if ( $show_post_title ) { + if ( '1' === $comments_count ) { + /* translators: %s: Post title. */ + $comments_title = sprintf( __( 'One response to %s' ), $post_title ); + } else { + $comments_title = sprintf( + /* translators: 1: Number of comments, 2: Post title. */ + _n( + '%1$s response to %2$s', + '%1$s responses to %2$s', + $comments_count + ), + number_format_i18n( $comments_count ), + $post_title + ); + } + } elseif ( '1' === $comments_count ) { + $comments_title = __( 'One response' ); + } else { + $comments_title = sprintf( + /* translators: %s: Number of comments. */ + _n( '%s responses', '%s responses', $comments_count ), + number_format_i18n( $comments_count ) + ); + } + } elseif ( $show_post_title ) { + if ( '1' === $comments_count ) { + /* translators: %s: Post title. */ + $comments_title = sprintf( __( 'Response to %s' ), $post_title ); + } else { + /* translators: %s: Post title. */ + $comments_title = sprintf( __( 'Responses to %s' ), $post_title ); + } + } elseif ( '1' === $comments_count ) { + $comments_title = __( 'Response' ); + } else { + $comments_title = __( 'Responses' ); + } + + return sprintf( + '<%1$s id="comments" %2$s>%3$s', + $tag_name, + $wrapper_attributes, + $comments_title + ); +} + +/** + * Registers the `core/comments-title` block on the server. + */ +function register_block_core_comments_title() { + register_block_type_from_metadata( + __DIR__ . '/comments-title', + array( + 'render_callback' => 'render_block_core_comments_title', + ) + ); +} + +add_action( 'init', 'register_block_core_comments_title' );