WordPress 获取文章的评论人数
前些天,倡萌和恒创科技联合举办了一次踢楼活动(详见),活动结束后要统计此次参与踢楼的用户数量,也就是要统计提交了评论的用户数,在网上搜索了一下,发现 zwwooooo 大叔已经折腾过这个功能,试了一下,还可以用,分享过来,有需要的朋友不妨试试。
直接将下面的函数添加到当前主题的 functions.php
/* 获取文章的评论人数 by zwwooooo | zww.me */
function zfunc_comments_users($postid=0,$which=0) {
$comments = get_comments('status=approve&type=comment&post_id='.$postid); //获取文章的所有评论
if ($comments) {
$i=0; $j=0; $commentusers=array();
foreach ($comments as $comment) {
++$i;
if ($i==1) { $commentusers[] = $comment->comment_author_email; ++$j; }
if ( !in_array($comment->comment_author_email, $commentusers) ) {
$commentusers[] = $comment->comment_author_email;
++$j;
}
}
$output = array($j,$i);
$which = ($which == 0) ? 0 : 1;
return $output[$which]; //返回评论人数
}
return 0; //没有评论返回0
}
调用方法:
1
<?php echo zfunc_comments_users($postid); ?>
参数说明:$postid 是需要获取评论人数的文章ID
一般用法:在一般主题的loop里面可以这样用:
1
<?php echo zfunc_comments_users($post->ID); ?>
PS:还可以输出评论总数,用法:
1
<?php echo zfunc_comments_users($postid, 1); ?>