render_block_core_comments_pagination_numbers

The timeline below displays how wordpress function render_block_core_comments_pagination_numbers 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-pagination-numbers` block.
 *
 * @package WordPress
 */
/**
 * Renders the `core/comments-pagination-numbers` block on the server.
 *
 * @param array    $attributes Block attributes.
 * @param string   $content    Block default content.
 * @param WP_Block $block      Block instance.
 *
 * @return string Returns the pagination numbers for the comments.
 */
function render_block_core_comments_pagination_numbers($attributes, $content, $block)
{
    // Bail out early if the post ID is not set for some reason.
    if (empty($block->context['postId'])) {
        return '';
    }
    $comment_vars = build_comment_query_vars_from_block($block);
    $total = (new WP_Comment_Query($comment_vars))->max_num_pages;
    $current = (!empty($comment_vars['paged'])) ? $comment_vars['paged'] : null;
    // Render links.
    $content = paginate_comments_links(array('total' => $total, 'current' => $current, 'prev_next' => false, 'echo' => false));
    if (empty($content)) {
        return '';
    }
    $wrapper_attributes = get_block_wrapper_attributes();
    return sprintf('<div %1$s>%2$s</div>', $wrapper_attributes, $content);
}