Ditulis oleh: Ditulis pada: 7/04/2016
Beberapa waktu yang lalu saya mencoba menggunakan sebuah plugin untuk memasangkan Google reCAPTCHA pada contact form blog Wordpress saya karena saya kesulitan memasangkan reCAPTCHA secara manual.Namun karena penasaran, akhirnya saya mencoba kembali untuk memasangkan reCAPTCHA pada contact form Wordpress secara manual tanpa bantuan plugin dan akhirnya berhasil seperti tampak pada animasi gif di atas, horeee... hehehe....
Nah jika blog Wordpress Anda menggunakan contact form tanpa plugin seperti pada postingan berikut:
Dan ingin mencoba memasang Google reCAPTCHA pada form tanpa bantuan plugin untuk menghalau para spammer, silahkan ikuti caranya di bawah ini.
Langkah Pertama
Silahkan ganti kode pada langkah nomor 2 dari cara membuat contact form untuk Wordpress tanpa plugin dengan kode di bawah ini.
<?php
/*
Template Name: Contact Us
*/
if($_POST[sent]){
$error = "";
if(!trim($_POST[your_name])){
$error .= "<p>Please enter your name!</p>";
}
if(!filter_var(trim($_POST[your_email]),FILTER_VALIDATE_EMAIL)){
$error .= "<p>Please enter a valid email address!</p>";
}
if(!trim($_POST[your_message])){
$error .= "<p>Please enter a message!</p>";
}
if(!trim($_POST['g-recaptcha-response'])){
$error .= "<p>Please check the the captcha form!</p>";
}
$response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=KODE_SECRET_KEY_DI_SINI&response=".$captcha."&remoteip=".$_SERVER['REMOTE_ADDR']);
if($response.success==false)
{
echo "Hey! Spammer I'm Using Google reCAPTCHA! Get Out";
}
if(!$error){
$email = wp_mail(get_option("admin_email"),trim($_POST[your_name])." sent you a message from ".get_option("blogname"),stripslashes(trim($_POST[your_message])),"From: ".trim($_POST[your_name])." <".trim($_POST[your_email]).">\r\nReply-To:".trim($_POST[your_email]));
}
}
?>
<?php if($email){ ?>
<p>Message succesfully sent. I'll reply as soon as I can.<br>
Return to <a href="<?php the_permalink(); ?>" title="Contact Form"><strong>form</strong></a>.</p>
<?php } else { if($error) { ?>
<p class="alert"><strong>Your messange hasn't been sent!</strong><p>
<?php echo $error; ?>
<?php } else { the_content(); } ?>
<form action="<?php the_permalink(); ?>" id="contact_me" method="post">
<input type="hidden" name="sent" id="sent" value="1" />
<div id="form">
<div class="lebel"></div>
<div class="input-field"><input type="text" name="your_name" id="your_name" placeholder="Name" value="<?php echo $_POST[your_name];?>" /></div>
<div class="lebel"></div>
<div class="input-field"><input type="text" name="your_email" id="your_email" placeholder="Email" value="<?php echo $_POST[your_email];?>" /></div>
<div class="lebel"></div>
<div class="input-field"><textarea name="your_message" id="your_message" placeholder="Message" ><?php echo stripslashes($_POST[your_message]); ?></textarea></div>
<div class="lebel"></div>
<div class="g-recaptcha" data-sitekey="KODE_SITE_KEY_DI_SINI"></div>
<div class="input-field-send"><input type="submit" name = "send" value = "Send email"/></div>
</div>
</form>
<?php } ?>
<script src='https://www.google.com/recaptcha/api.js'></script>
Langkah Kedua
Silahkan ganti kode
KODE_SECRET_KEY_DI_SINI
dan KODE_SITE_KEY_DI_SINI
dengan kode Site Key dan Secret Key Google reCAPTCHA blog Anda yang bisa Anda dapatkan DI SINI. Silahkan daftarkan blog Anda di Google reCAPTCHA tersebut untuk mendapatkan kode Site Key dan Secret Key Google reCAPTCHA.