每个评论作者的评论计数

时间:2012-07-03 作者:Boutros AbiChedid

在WordPress 3.4.1中:我试图将评论作者的评论总数添加到他们的信息旁边。评论列表中的(姓名+日期/时间)。

下面是我正在使用的SQL:

$count = $wpdb->get_var(\'SELECT COUNT(comment_ID) FROM \'. $wpdb->comments. \' WHERE comment_author_email = "\' . get_comment_author_email() .\'" \' AND comment_approved = \'1\' AND comment_type = \'\');
基本上,将检查作者的电子邮件,并显示评论总数。但我也希望只统计已批准的评论,而且我不希望统计pingback/trackback。上面的代码返回了一个语法错误,可能在逻辑方面是错误的。非常感谢您的帮助。谢谢

2 个回复
SO网友:Pontus Abrahamsson

将此放在您的函数中。php主题文件:

<?php
function ps_count_user_comments() {
    global $wpdb;
    $count = $wpdb->get_var(
    \'SELECT COUNT(comment_ID) FROM \' . $wpdb->comments. \' 
    WHERE comment_author_email = "\' . get_comment_author_email() . \'" 
    AND comment_approved = "1" 
    AND comment_type IN ("comment", "")\'
    );

    return $count . \' comments\';
}
?>
此代码将计算作者注释,不包括trackback/pingback。

然后按如下方式打印:

<?php echo ps_count_user_comments(); ?>
您可以尝试在SQL中运行此命令并更改[email protected]发送到您的邮件。我假设您的数据库前缀是wp\\u0,但如果不是,请更改wp_comments 到您的前缀。

SELECT COUNT(comment_ID) FROM wp_comments 
WHERE comment_author_email = "[email protected]"  
AND comment_approved = "1" 
AND comment_type IN ("comment", "")

SO网友:Bikram

您可以使用内置的WordPress注释查询。我还使用get_comments(); 对于我的模板上的此功能。

对于参数,我只需使用3个参数,与您想要的相同。

    $comail = get_comment_author_email();
    $args = array(
                \'author_email\' => $comail,
                \'status\'  => \'approve\',
                \'type\'  => \'comment\',
                );
wp_comment_query 是无限的。所以一切皆有可能。还支持多注释类型\'type__in\' 参数

接下来,您可以回显count($comments);. 您还可以使用\'count\'=>\'true\', 参数

结束

相关推荐

特定用户的wp_count_post、wp_count_Terms和wp_count_Comments?

有没有办法实现这些功能wp_count_posts, wp_count_terms 和wp_count_comments 仅为特定用户返回结果,可能使用用户的ID?我正在为自定义帖子类型制作一个自定义的“即时”仪表板小部件,我需要它只显示当前用户的数据,而不是整个站点的数据。提前谢谢。EDIT: 为了回应@kaiser在下面的评论,我做了以下操作,但什么都没有发生-结果与过滤器关闭时的结果相同(不应该是这样-检查此用户是否有不同数量的已发布employee 职位类型)。我的函数中的代码似乎根本没有被调用,