在WordPress中统计特定文章的评论用户数量是一项非常实用的功能,尤其是在举办活动或需要分析用户参与度时。本文将介绍如何通过自定义函数实现这一功能,并确保代码能够完美适配您的主题。
首先,我们需要将以下代码添加到当前主题的 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
}
这段代码的主要功能是统计指定文章的独立评论用户数量。它通过遍历所有已批准的评论,并根据用户的电子邮件地址来判断是否为不同的用户。
接下来,我们来看一下如何调用这个函数:
如果您想获取某篇文章的独立评论用户数量,可以使用以下代码:
<?php echo zfunc_comments_users($postid); ?>
在这里,$postid 是您需要统计的文章ID。
如果是在主题的循环(loop)中使用,可以直接引用当前文章的ID:
<?php echo zfunc_comments_users($post->ID); ?>
此外,该函数还支持输出总的评论数量。只需要将第二个参数设置为“1”即可:
<?php echo zfunc_comments_users($postid, 1); ?>
以上方法可以帮助您轻松统计文章的评论用户数量和总评论数。无论是为了分析用户参与度,还是为了展示文章的互动情况,这项功能都非常实用。
总结:通过将上述代码集成到您的 WordPress 主题中,您可以快速获取每篇文章的独立评论用户数量以及总评论数。这不仅有助于提高用户体验,还能为网站运营提供数据支持。
注意:请确保在修改
functions.php 文件前备份您的文件,以防止意外错误。