Created
March 31, 2017 20:42
-
-
Save tmblog/763870213f8b824bbbb177cfd8129418 to your computer and use it in GitHub Desktop.
Simple WordPress Contact Form without Plugin - Bootstrap ready.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php /* Template Name: Contact Page */ | |
$response = ""; | |
//function to generate response | |
function my_contact_form_generate_response($type, $message){ | |
global $response; | |
if($type == "success") $response = "<div class='alert alert-success'>{$message}</div>"; | |
else $response = "<div class='alert alert-danger'>{$message}</div>"; | |
} | |
//response messages | |
$not_human = "Please work out the math"; | |
$missing_content = "Please supply all required fields."; | |
$email_invalid = "Email Address is invalid."; | |
$message_unsent = "Message was not sent. Try Again."; | |
$message_sent = "Thank you! Your message has been sent."; | |
//user posted variables | |
$name = $_POST['message_name']; | |
$email = $_POST['message_email']; | |
$message = $_POST['message_text']; | |
$human = $_POST['message_human']; | |
//php mailer variables | |
$to = get_option('admin_email'); | |
$subject = "Message from website.com"; | |
$headers = 'From: '. $email . "\r\n" . | |
'Reply-To: ' . $email . "\r\n"; | |
if(!$human == 0){ | |
if($human != 2) my_contact_form_generate_response("error", $not_human); //not human! | |
else { | |
//validate email | |
if(!filter_var($email, FILTER_VALIDATE_EMAIL)) | |
my_contact_form_generate_response("error", $email_invalid); | |
else //email is valid | |
{ | |
//validate presence of name and message | |
if(empty($name) || empty($message)){ | |
my_contact_form_generate_response("error", $missing_content); | |
} | |
else //ready to go! | |
{ | |
$sent = wp_mail($to, $subject, strip_tags($message), $headers); | |
if($sent) my_contact_form_generate_response("success", $message_sent); //message sent! | |
else my_contact_form_generate_response("error", $message_unsent); //message wasn't sent | |
} | |
} | |
} | |
} | |
else if ($_POST['submitted']) my_contact_form_generate_response("error", $missing_content); | |
get_header(); ?> | |
<div class="breadcrumbs"> | |
<div class="container"> | |
<h1 class="pull-left"><a href="<?php echo get_page_link(); ?>"><?php the_title(); ?></a></h1> | |
</div> | |
</div> | |
<section class="content"> | |
<div class="container"> | |
<div class="row"> | |
<div class="col-xs-12 col-md-9"> | |
<div class="col-sm-12 col-md-12 col-xs-12"> | |
<?php echo $response; ?> | |
<form action="<?php the_permalink(); ?>" method="post"> | |
<div class="row"> | |
<div class="form-group col-sm-12 col-md-6 col-xs-12"> | |
<input class="form-control" type="text" name="message_name" value="<?php echo esc_attr($_POST['message_name']); ?>" placeholder="Name*"> | |
</div> | |
</div> | |
<div class="row"> | |
<div class="form-group col-sm-12 col-md-6 col-xs-12"> | |
<input class="form-control" name="message_email" value="<?php echo esc_attr($_POST['message_email']); ?>" placeholder="Email*" type="email"> | |
</div> | |
</div> | |
<div class="row"> | |
<div class="form-group col-sm-12 col-md-8 col-xs-12"> | |
<textarea class="form-control" placeholder="Message*" rows="6" name="message_text"><?php echo esc_textarea($_POST['message_text']); ?></textarea> | |
</div> | |
</div> | |
<div class="row"> | |
<div class="form-group col-sm-12 col-md-2 col-xs-12"> | |
<input class="form-control" name="message_human" type="text" placeholder="5-3=?"> | |
</div> | |
</div> | |
<input type="hidden" name="submitted" value="1"> | |
<div class="row"> | |
<div class="form-group col-sm-12 col-md-6 col-xs-12"> | |
<button type="submit" class="btn btn-lg rounded pi-btn-red">Send</button> | |
</div> | |
</div> | |
</form> | |
</div><!-- end col-sm-12 --> | |
</div><!-- end col-sm-9 --> | |
<?php get_sidebar(); ?> | |
<?php get_footer(); ?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment