get_the_comments_pagination()WP 4.4.0

Retrieves a paginated navigation to next/previous set of comments, when applicable.

No Hooks.

Return

String. Markup for pagination links.

Usage

get_the_comments_pagination( $args );
$args(array)

Optional.

Default: pagination arguments

  • screen_reader_text(string)
    Screen reader text for the nav element.
    Default: 'Comments navigation'

  • aria_label(string)
    ARIA label text for the nav element.
    Default: 'Comments'

  • class(string)
    Custom class for the nav element.
    Default: 'comments-pagination'

Examples

0

#1 Comment pagination output (demo)

Let's say we're on a 'postname' page. Which has 30 comments and is set to divide comments by 10 per page. Then let's see what the function gets:

<?php echo get_the_comments_pagination(); ?>

Or you can use a wrapper function for quick display:

<?php the_comments_pagination(); ?>

You will get the following HTML code:

<nav class="navigation comments-pagination" role="navigation">
	<h2 class="screen-reader-text">Comment navigation</h2>
	<div class="nav-links">
		<a class="prev page-numbers" href="http://example.com/postname/comment-page-1/#comments">← Before</a>
		<a class="page-numbers" href="http://example.com/postname/comment-page-1/#comments">1</a>
		<span class="page-numbers current">2</span>
		<a class="page-numbers" href="http://example.com/postname/comment-page-3/#comments">3</a>
		<a class="next page-numbers" href="http://example.com/postname/comment-page-3/#comments">After →</a>
	</div>
</nav>

Notes

Changelog

Since 4.4.0 Introduced.
Since 5.3.0 Added the aria_label parameter.
Since 5.5.0 Added the class parameter.

get_the_comments_pagination() code WP 6.4.3

function get_the_comments_pagination( $args = array() ) {
	$navigation = '';

	// Make sure the nav element has an aria-label attribute: fallback to the screen reader text.
	if ( ! empty( $args['screen_reader_text'] ) && empty( $args['aria_label'] ) ) {
		$args['aria_label'] = $args['screen_reader_text'];
	}

	$args         = wp_parse_args(
		$args,
		array(
			'screen_reader_text' => __( 'Comments navigation' ),
			'aria_label'         => __( 'Comments' ),
			'class'              => 'comments-pagination',
		)
	);
	$args['echo'] = false;

	// Make sure we get a string back. Plain is the next best thing.
	if ( isset( $args['type'] ) && 'array' === $args['type'] ) {
		$args['type'] = 'plain';
	}

	$links = paginate_comments_links( $args );

	if ( $links ) {
		$navigation = _navigation_markup( $links, $args['class'], $args['screen_reader_text'], $args['aria_label'] );
	}

	return $navigation;
}