我提前感谢你的帮助。我使用Wordpress大约有2年了,但总是避免在脚本中使用SQL,并寻找内置函数来实现我的目标。
要统计特定用户提交的评论,请使用$user->ID
作为id,我没有找到内置方式,因此我使用:
global $wpdb;
$count = $wpdb->get_var(
\'SELECT COUNT( comment_id ) FROM \'. $wpdb->comments .\'
WHERE user_id = \'.$user->ID.\'
AND comment_approved = "1"
AND comment_type NOT IN ("pingback", "trackback" )\'
);
实际上,我的目标是统计用户在不同帖子上的所有评论数。换句话说,如果用户对同一篇文章发表了2次或更多次评论,那么只需增加
$count
变量为1。
非常感谢您的帮助。
最合适的回答,由SO网友:birgire 整理而成
如果要统计用户评论的帖子数,可以尝试:
global $wpdb;
$sql = \'SELECT COUNT( comment_ID ) FROM \' . $wpdb->comments . \'
WHERE user_id = %d
AND comment_approved = "1"
AND comment_type NOT IN ("pingback", "trackback" )
GROUP by comment_post_ID\';
$count = $wpdb->get_var( $wpdb->prepare( $sql, $user->ID ) );
我们按帖子ID分组。