WordPress at Your Fingertips

wp_count_comments() WP 1.0

Retrieve total comments for blog or single post.

The comment stats are cached and then retrieved, if they already exist in the cache.

Hooks from the function
Return

stdClass. The number of comments keyed by their status.

Usage

wp_count_comments( $post_id );
$post_id(int)
Restrict the comment counts to the given post.
Default: 0, which indicates that comment counts for the whole site will be retrieved

Notes

Changelog

Since 2.5.0 Introduced.

Code of wp_count_comments() WP 5.8.1

function wp_count_comments( $post_id = 0 ) {
	$post_id = (int) $post_id;

	/**
	 * Filters the comments count for a given post or the whole site.
	 *
	 * @since 2.7.0
	 *
	 * @param array|stdClass $count   An empty array or an object containing comment counts.
	 * @param int            $post_id The post ID. Can be 0 to represent the whole site.
	 */
	$filtered = apply_filters( 'wp_count_comments', array(), $post_id );
	if ( ! empty( $filtered ) ) {
		return $filtered;
	}

	$count = wp_cache_get( "comments-{$post_id}", 'counts' );
	if ( false !== $count ) {
		return $count;
	}

	$stats              = get_comment_count( $post_id );
	$stats['moderated'] = $stats['awaiting_moderation'];
	unset( $stats['awaiting_moderation'] );

	$stats_object = (object) $stats;
	wp_cache_set( "comments-{$post_id}", $stats_object, 'counts' );

	return $stats_object;
}

counts (counting of any)

Comments

No comments
    Log In