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;
}
 

 View on GitHub View on Trac