paginate_comments_links( string|array $args = array() )

Displays or retrieves pagination links for the comments on the current post.


Description Description

See also See also


Top ↑

Parameters Parameters

$args

(string|array) (Optional) args. See paginate_links().

Default value: array()


Top ↑

Return Return

(string|array|void) Markup for comment page links or array of comment page links.


Top ↑

Source Source

File: wp-includes/link-template.php

function paginate_comments_links( $args = array() ) {
	global $wp_rewrite;

	if ( ! is_singular() ) {
		return;
	}

	$page = get_query_var( 'cpage' );
	if ( ! $page ) {
		$page = 1;
	}
	$max_page = get_comment_pages_count();
	$defaults = array(
		'base'         => add_query_arg( 'cpage', '%#%' ),
		'format'       => '',
		'total'        => $max_page,
		'current'      => $page,
		'echo'         => true,
		'type'         => 'plain',
		'add_fragment' => '#comments',
	);
	if ( $wp_rewrite->using_permalinks() ) {
		$defaults['base'] = user_trailingslashit( trailingslashit( get_permalink() ) . $wp_rewrite->comments_pagination_base . '-%#%', 'commentpaged' );
	}

	$args       = wp_parse_args( $args, $defaults );
	$page_links = paginate_links( $args );

	if ( $args['echo'] && 'array' !== $args['type'] ) {
		echo $page_links;
	} else {
		return $page_links;
	}
}

Top ↑

Changelog Changelog

Changelog
Version Description
2.7.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by Codex

    Enhanced Comment Display

    WordPress makes comments.php files simple to write and edit. It’s simple to easily break comments into pages so that you don’t end up with hundreds of comments all loading on every pageview.

    You will need to set up the options in SETTINGS > DISCUSSION for paging to work.

    The easiest way to do so is with the following function, which prints out a link to the next and previous comment pages, as well as a numbered list of all the comment pages.

    paginate_comments_links( $args );
    

    It accepts an array or query-style list of arguments similar to get_posts() or get_terms().

    If you want more control, you can also use the simpler next and previous functions:

    next_comments_link( $label = "", $max_page = 0 );
    

    and

    previous_comments_link( $label = "" );
    
  2. Skip to note 2 content
    Contributed by Codex

    Custom Prev-/Next-links

    To modify the Prev- and Next-links, you can use the options ‘prev_text’ and ‘next_text’. These are provided by the function paginate_links().

    paginate_comments_links( array(
    	'prev_text'  => 'back',
    	'next_text' => 'forward'
    ) );
    

    Note: If you want to use HTML entities in your ‘prev_text’ or ‘next_text’, you will have to use the array-based syntax.

    paginate_comments_links( array(
    	'prev_text' => '«',
    	'next_text' => '»'
    ) )
    

You must log in before being able to contribute a note or feedback.