워드프레스의 특정 글에 댓글을 단 사람의 수 세기

워드프레스의 특정 글에 댓글을 단 사람들의 수를 표시해야 하는 경우가 발생할 수 있습니다. 이 경우 다음 함수를 통해 unique한 코멘트 작성자 수를 계산할 수 있습니다. 아래의 함수는 댓글 작성자의 이메일을 비교하여 중복된 것은 제외한 개수를 반환합니다.

function get_unique_commenters_by_post_id( $post_id )
{
global $wpdb;
$sql = "SELECT COUNT(1) as uc FROM (
SELECT COUNT(1) as c FROM {$wpdb->comments}
WHERE comment_post_ID = %d
GROUP BY comment_author_email
) as t";
return $wpdb->get_var( $wpdb->prepare( $sql, $post_id ) );
}

결과를 표시하려면 다음 코드를 해당 부분에 추가합니다.

echo get_unique_commenters_by_post_id( $post_id = 213 );

참고로 위의 코드를 테스트해보니, Pingback/Trackback이 있는 경우 제대로 계산하지 못하는 것 같습니다. 핑백을 일괄적으로 제거하려면 이 글을 참고하시기 바랍니다.

출처: http://wordpress.stackexchange.com/

떠나시기 전에 아무 댓글(Comments)이라도 남겨두세요.
기부를 통해 이 블로그의 운영을 후원하실 수 있습니다.