render_block_core_comments_title

The timeline below displays how wordpress function render_block_core_comments_title has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.1

/**
 * Server-side rendering of the `core/comments-title` block.
 *
 * @package WordPress
 */
/**
 * Renders the `core/comments-title` block on the server.
 *
 * @param array $attributes Block attributes.
 *
 * @return string Return the post comments title.
 */
function render_block_core_comments_title($attributes)
{
    if (post_password_required()) {
        return;
    }
    $align_class_name = empty($attributes['textAlign']) ? '' : "has-text-align-{$attributes['textAlign']}";
    $show_post_title = !empty($attributes['showPostTitle']) && $attributes['showPostTitle'];
    $show_comments_count = !empty($attributes['showCommentsCount']) && $attributes['showCommentsCount'];
    $wrapper_attributes = get_block_wrapper_attributes(array('class' => $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 response', '%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</%1$s>', $tag_name, $wrapper_attributes, $comments_title);
}