您的PHP是错误的,但您所做的看起来应该可以工作。
$count = $wpdb->get_var(
\'SELECT COUNT(distinct comment_author)
FROM \' .$wpdb->comments. \'
WHERE comment_approved = 1
AND comment_post_ID = \'.$post->ID
);
echo $count;
确切地说,您试图在单引号内使用变量,但这行不通。变量不会在单引号内展开。而且字符串中没有空格,所以生成的SQL无效。我不知道你的
$postid
变量来自但在循环内
$post->ID
工作,所以我用了它。
也许还有其他方法可以做到这一点,但我不能告诉你,除非你能为这个问题添加更多的背景和细节。
这里有一个更详细的例子,其中包括我认为OP可能需要的几条信息。
function get_commentCount_wpse_98315() {
global $wpdb;
$id = get_the_ID();
$comment_data = $wpdb->get_row(\'
SELECT
COUNT(distinct comment_author) as comment_count,
COUNT(comment_ID) as comment_author_count,
("No idea what this is") as phrases
FROM \'.$wpdb->comments.\' WHERE comment_post_ID = \'.$id
);
// var_dump($comment_data);
echo implode(\' | \',$comment_data);
}