wp_count_comments( int $post_id ): stdClass
Retrieves the total comment counts for the whole site or a single post.
Contents
Description
The comment stats are cached and then retrieved, if they already exist in the cache.
See also
- get_comment_count() : Which handles fetching the live comment counts.
Parameters
-
$post_id
int Optional -
Restrict the comment counts to the given post. Default 0, which indicates that comment counts for the whole site will be retrieved.
Return
stdClass The number of comments keyed by their status.
approved
intThe number of approved comments.moderated
intThe number of comments awaiting moderation (a.k.a. pending).spam
intThe number of spam comments.trash
intThe number of trashed comments.post-trashed
intThe number of comments for posts that are in the trash.total_comments
intThe total number of non-trashed comments, including spam.all
intThe total number of pending or approved comments.
Source
File: wp-includes/comment.php
.
View all references
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;
}
Hooks
-
apply_filters( 'wp_count_comments',
array|stdClass $count ,int $post_id ) -
Filters the comments count for a given post or the whole site.
Changelog
Version | Description |
---|---|
2.5.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.
Retrieve comment count for a post
Default usage
Retrieve comment count for a site.