wp_count_comments

函数
wp_count_comments ( $post_id = 0 )
参数
  • (int) $post_id Optional. Restrict the comment counts to the given post. Default 0, which indicates that comment counts for the whole site will be retrieved.
    Required:
返回值
  • (stdClass) { The number of comments keyed by their status. @type int $approved The number of approved comments. @type int $moderated The number of comments awaiting moderation (a.k.a. pending). @type int $spam The number of spam comments. @type int $trash The number of trashed comments. @type int $post-trashed The number of comments for posts that are in the trash. @type int $total_comments The total number of non-trashed comments, including spam. @type int $all The total number of pending or approved comments. }
相关
  • get_comment_count()
定义位置
相关方法
wp_count_attachmentswp_untrash_commentwp_list_commentswp_new_commentwp_count_posts
引入
2.5.0
弃用
-

wp_count_comments: 这是一个返回文章或页面上评论数量的函数。它可以用来获得评论的概况,并跟踪评论的数量。

检索整个网站或单个文章的总评论数。

如果评论统计数字已经存在于缓存中,则会进行缓存,然后再进行检索。

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

常见问题

FAQs
查看更多 >