reCAPTCHA là một dịch vụ chống spam được cung cấp hoàn toàn miễn phí từ Google. Dễ sử dụng, hiệu quả, dễ thực hiện, reCAPTCHA hiện là API captcha được sử dụng nhiều nhất. Bạn có thể đọc thêm tại https://www.google.com/recaptcha/intro/. Bây giờ bắt đầu thêm Google reCAPTCHA vào bình luận WordPress và xem nó hoạt động như thế nào.
Đã được kiểm chứng tương thích với WordPress 5.3.2
Bước 1:
Truy cập trang https://www.google.com/recaptcha/admin#list và đăng ký trang web của bạn.
Tại đây bạn sẽ phải cung cấp một số thông tin bao gồm: Tên gợi nhớ, và domain của bạn.
Mình đã tô đỏ những chổ cần điền trong ảnh minh họa trên
Bước 2:
Sau khi đăng ký xong ở bước 1 Google sẽ chuyển bạn đến trang 2. Tại đây bạn sẽ lấy được những thông tin gồm Site key và Secret key. Bạn hãy lưu 2 khóa này lại để sử dụng cho bước tiếp theo.
Bước 3:
Chỉnh sửa file functions.php trong thư mục theme của bạn và thêm đoạn code dưới đây vào và thay thế Site key và Secret key lấy được từ bước 2 vào trong đoạn code
/**************************************************** * Google reCapcha in WordPress *****************************************************/ function add_google_script(){ if( is_single()){ wp_enqueue_script('google-recaptcha', 'https://www.google.com/recaptcha/api.js'); } } add_action( 'wp_head', 'add_google_script', 10 ); /** * Google recaptcha add before the submit button */ function add_google_recaptcha($submit_field) { $submit_field['submit_field'] = '<div class="g-recaptcha" data-sitekey="your-data-sitekey"></div><br>' . $submit_field['submit_field']; return $submit_field; } if (!is_user_logged_in()) { add_filter('comment_form_defaults','add_google_recaptcha'); } /** * Google recaptcha check, validate and catch the spammer */ function is_valid_captcha($captcha) { $captcha_postdata = http_build_query(array( 'secret' => 'your-secret-key', 'response' => $captcha, 'remoteip' => $_SERVER['REMOTE_ADDR'])); $captcha_opts = array('http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $captcha_postdata)); $captcha_context = stream_context_create($captcha_opts); $captcha_response = json_decode(file_get_contents("https://www.google.com/recaptcha/api/siteverify" , false , $captcha_context), true); if ($captcha_response['success']) return true; else return false; } function verify_google_recaptcha() { $recaptcha = $_POST['g-recaptcha-response']; if (empty($recaptcha)) wp_die( __("<b>ERROR:</b> please select <b>I'm not a robot!</b><p><a href='javascript:history.back()'>« Back</a></p>")); else if (!is_valid_captcha($recaptcha)) wp_die( __("<b>Go away SPAMMER!</b>")); } if (!is_user_logged_in()) { add_action('pre_comment_on_post', 'verify_google_recaptcha'); }
Bước 5:
Quay trở lại trang bài viết và xem phần bình luận của bạn đã được thêm reCAPTCHA chưa nhé
bài viết rất hữu ích, cảm ơn ad nhé!
Móc vào phần đăng nhập và đăng ký như nào bác nhỷ
sẽ có bài hướng dẫn sau bạn nhé
Đã ra bài hướng dẫn thêm vào đăng nhập – đăng ký bạn nhé Thêm Google reCAPTCHA vào form Đăng nhập – Đăng ký mặc định của WordPress
Cảm ơn bác.
Update theme có phải lưu lại ko?
Bạn sử dụng child-theme để không bị ảnh hưởng khi update theme chính bạn nhé
Permalink