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

워드프레스의 특정 글에 댓글을 단 사람들의 수를 표시해야 하는 경우가 발생할 수 있습니다. 이 경우 다음 함수를 통해 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/

일부 글에 제휴 링크가 포함될 수 있으며 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

댓글 남기기

* 이메일 정보는 공개되지 않습니다.