<?php // Google recaptcha add before the submit button function add_google_recaptcha($submit_field) { $submit_field['submit_field'] = '<div class="g-recaptcha" data-sitekey="your_site_key"></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>")); }