Ra mắt thử nghiệm plugin Foxtool miễn phí dành cho WordPress
Chống spam bình luận trên WordPress hiệu quả với code chặn bình luận chứa liên kết
  1. Home
  2. Blog
  3. Chống spam bình luận trên WordPress hiệu quả với code chặn bình luận chứa liên kết
admin 9 tháng trước

Chống spam bình luận trên WordPress hiệu quả với code chặn bình luận chứa liên kết

Sử dụng WordPress chúng ta thường gặp phải việc suốt ngày dính spam bình luận rác, có nhiều cách để bạn có thể hạn chế điều này như thêm captcha vào form bình luận, cài đặt một số plugin lọc các bình luận đáng ngờ, nói chung các cách này đều giúp cho trang web chống được spam rất hiệu quả. Tuy nhiên ở bài viết này mình xin chia sẻ một đoạn code chức năng lọc các bình luận spam mà không cần cài đặt các plugin phức tạp.

Cách thức hoạt động của code

Như chúng ta đã biết, thông thường việc spam bình luận là một dạng quảng cáo bằng hệ thống tự động, các quảng cáo này thường là những nội dung giới thiệu dịch vụ, giới thiệu sản phẩm..vv nhưng tất cả chúng đều có điểm chung là thường kèm theo một đường link để chúng ta có thể truy cập tới trang mà chúng muốn quảng cáo, từ điểm này code của mình có thể dựa vào đó để lọc ra những bình luận có chứa các liên kết hoặc có dạng liên kết để nhằm loại bỏ nó ngay từ ban đầu.

Nhược điểm

Với cách làm này sẽ không áp dụng được với những blog cho phép thành viên có thể đăng liên kết về trang web của họ, khắc phục bằng cách bạn có thể thêm vào các nhóm khác nhau để cho phép người dùng đăng nhập hoặc nằm trong một nhóm nào đó thì có thể bình luận liên kết thoải mái.

Code xóa bình luận nếu chứa các liên kết hoặc dạng liên kết

function fox_auto_delete_comment_with_link( $approved, $commentdata ) {
// admin ok
if ( current_user_can( 'manage_options' ) ) {
return $approved;
}
$comment_content = $commentdata['comment_content'];
if ( preg_match( '/<a\s/i', $comment_content ) || strpos( $comment_content, 'http://' ) !== false || strpos( $comment_content, 'https://' ) !== false ) {
wp_delete_comment( $commentdata['comment_ID'] );
return false;
}
return $approved;
}

Sao chép toàn bộ code ở trên dán vào file functions.php trong thư mục theme mà bạn đang sử dụng là xong.

Mua Foxtheme ngay nào
460 lượt xem | 3 bình luận
Lên ý tưởng và thực hiện đam mê
Hãy mua Foxtheme nếu bạn cảm thấy thích hoặc hợp với gu thẩm mỹ của chính mình :)
    1. admin
      @Tuệ WP
      spam thử phát [c:][c:][c:]

      kaka. site chưa áp dụng đau vẫn bình luận thoải mái mà, code sau em sẽ tích hợp vào theme này luôn

Chức năng bình luận hiện chỉ có thể hoạt động sau khi bạn đăng nhập!

Cloud
Trò chuyện
Tác giả Fox Theme