워드프레스 댓글 길이 제한하기

0

워드프레스 사이트가 활성화하면 방문자가 늘어나면서 함께 늘어나는 불청객이 있습니다. 스팸 댓글입니다. 워드프레스에서 봇에 의한 스팸 댓글을 막는 방법으로 Akismet 같은 플러그인을 사용하면 편리합니다.

이 블로그에서는 워드프레스에서 기본적으로 제공하는 댓글 블랙리스트 기능을 사용하여 스팸 댓글을 걸러내고 있습니다. 이 방법으로 대부분의 스팸 댓글을 필터링할 수 있습니다.

댓글 블랙리스트를 사용하면 블랙리스트에 추가한 특정 단어나 IP가 포함된 댓글은 스팸으로 인식되어 휴지통으로 이동하게 됩니다. 하지만 간혹 정상적인 댓글도 블랙리스트에 등록된 특정 단어나 문구가 포함되면 스팸으로 분류됩니다. 그러므로 스팸을 지우기 전에 대충 눈으로 확인하는 것이 좋습니다.

최근 들어 길이가 매우 긴 댓글이 증가하고 있습니다. 댓글 하나가 웬만한 글보다 길어서 검토할 때 스크롤에 압박을 받을 수 있습니다. 너무 긴 댓글을 달지 못하도록 제한할 수 있습니다. 댓글을 길게 작성하는 것은 일반적이지 않기 때문에 긴 댓글이 자주 달리면 이 글에서 설명하는 방법으로 댓글 길이를 제한하는 것을 고려할 수 있습니다.

워드프레스에서 댓글 내용 길이를 제한하는 방법

워드프레스에서 댓글의 길이를 제한하려면 다음과 같은 코드를 사용 중인 테마의 함수 파일에 추가하면 됩니다. 반드시 자식 테마를 만들어서 작업하도록 합니다.

// 댓글 길이가 50자 이하이면 댓글 길이가 너무 짧다는 메시지가 표시되고, 1000자 이상인 경우에 너무 길다는 메시지 표시
add_filter( 'preprocess_comment', 'wpb_preprocess_comment' );
function wpb_preprocess_comment($comment) {
    if ( strlen( $comment['comment_content'] ) > 1000 ) {
        wp_die('댓글이 너무 깁니다. 댓글은 1000자까지 입력할 수 있습니다.');
    }
if ( strlen( $comment['comment_content'] ) < 50 ) {
        wp_die('댓글이 너무 짧습니다. 최소 50자 이상이 되어야 합니다.');
    }
    return $comment;
}

숫자는 적절히 변경하시기 바랍니다. 위와 같은 코드를 넣으면 댓글 길이가 50자 이하이면 댓글 길이가 너무 짧다는 오류 메시지가 표시되고, 댓글 길이가 1000자 이상이면 댓글 길이가 너무 길다는 오류 메시지가 표시됩니다.

최소 댓글 길이와 최대 댓글 길이를 설정하고 싶은 경우에 이 방법을 사용할 수 있습니다.

참고

댓글 남기기

Please enter your comment!
Please enter your name here