wp_count_comments() – Retrieves the total comment counts for the whole site or a single post.
You appear to be a bot. Output may be restricted
Description
Retrieves the total comment counts for the whole site or a single post.
The comment stats are cached and then retrieved, if they already exist in the cache.
Usage
$stdClass = wp_count_comments( $post_id );
Parameters
- $post_id
- ( int ) optional – Optional. Restrict the comment counts to the given post. Default 0, which indicates that comment counts for the whole site will be retrieved.
- $approved
- ( int ) optional – The number of approved comments.
- $moderated
- ( int ) optional – The number of comments awaiting moderation (a.k.a. pending).
- $spam
- ( int ) optional – The number of spam comments.
- $trash
- ( int ) optional – The number of trashed comments.
- $post-trashed
- ( int ) optional – The number of comments for posts that are in the trash.
- $total_comments
- ( int ) optional – The total number of non-trashed comments, including spam.
- $all
- ( int ) optional – The total number of pending or approved comments. }
Returns
stdClass { The number of comments keyed by their status.
Source
File name: wordpress/wp-includes/comment.php
Lines:
1 to 30 of 30
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; }