wpseek.com
A WordPress-centric search engine for devs and theme authors



get_comment_pages_count › WordPress Function

Since2.7.0
Deprecatedn/a
get_comment_pages_count ( $comments = null, $per_page = null, $threaded = null )
Parameters: (3)
  • (WP_Comment[]) $comments Optional. Array of WP_Comment objects. Defaults to `$wp_query->comments`.
    Required: No
    Default: null
  • (int) $per_page Optional. Comments per page. Defaults to the value of `comments_per_page` query var, option of the same name, or 1 (in that order).
    Required: No
    Default: null
  • (bool) $threaded Optional. Control over flat or threaded comments. Defaults to the value of `thread_comments` option.
    Required: No
    Default: null
Uses:
  • Walker_Comment
Returns:
  • (int) Number of comment pages.
Defined at:
Codex:

Calculates the total number of comment pages.



Source

function get_comment_pages_count( $comments = null, $per_page = null, $threaded = null ) {
	global $wp_query;

	if ( null === $comments && null === $per_page && null === $threaded && ! empty( $wp_query->max_num_comment_pages ) ) {
		return $wp_query->max_num_comment_pages;
	}

	if ( ( ! $comments || ! is_array( $comments ) ) && ! empty( $wp_query->comments ) ) {
		$comments = $wp_query->comments;
	}

	if ( empty( $comments ) ) {
		return 0;
	}

	if ( ! get_option( 'page_comments' ) ) {
		return 1;
	}

	if ( ! isset( $per_page ) ) {
		$per_page = (int) get_query_var( 'comments_per_page' );
	}
	if ( 0 === $per_page ) {
		$per_page = (int) get_option( 'comments_per_page' );
	}
	if ( 0 === $per_page ) {
		return 1;
	}

	if ( ! isset( $threaded ) ) {
		$threaded = get_option( 'thread_comments' );
	}

	if ( $threaded ) {
		$walker = new Walker_Comment();
		$count  = ceil( $walker->get_number_of_root_elements( $comments ) / $per_page );
	} else {
		$count = ceil( count( $comments ) / $per_page );
	}

	return (int) $count;
}