如何统计一篇帖子的评论人数?

时间:2014-11-16 作者:jetlej

似乎没有一种简单的WP方式来显示不同评论者的总数,只有总评论者数。

是否有比手动循环所有注释和计算唯一用户ID更好的方法?

1 个回复
最合适的回答,由SO网友:birgire 整理而成

你可以试着数一数unique 评论作者电子邮件每篇帖子:

/**
 * Number of unique comment author emails per post:
 *
 * @see    http://wordpress.stackexchange.com/a/168606/26350
 * @param  int $pid
 * @return int
 */
function get_unique_commenters_by_post_id( $post_id )
{
   global $wpdb;
   $sql = "SELECT COUNT(1) as uc FROM ( 
              SELECT COUNT(1) as c FROM {$wpdb->comments} 
                  WHERE comment_post_ID = %d 
                  GROUP BY comment_author_email
           ) as t";
    return $wpdb->get_var( $wpdb->prepare( $sql, $post_id ) );
}

Usage example:

echo get_unique_commenters_by_post_id( $post_id = 213 );

结束

相关推荐

comments in Admin

我对管理员中帖子的评论部分实际上做了什么感到困惑。我在帖子的屏幕选项中打开了评论。当我显示帖子时,我会看到一个评论框。如果我在评论框中输入了什么,它会发生什么?当我在管理中单击“显示评论”时,我从未看到它。但在某些主题上,它会出现在帖子中。