在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 文件前备份您的文件,以防止意外错误。