Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Plugin Name: Ralrom Simple Contact Form
- Plugin URI: website
- Description: Creates a contact form on the page using wordpress shortcode API. Inspired by wptuts.
- Version: 1.0
- Author: Robert Al-Romhein
- Author URI: webiste
- */
- function get_sender_ip() {
- if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {
- return $_SERVER["HTTP_X_FORWARDED_FOR"];
- }
- elseif (isset($_SERVER["HTTP_CLIENT_IP"])) {
- return $_SERVER["HTTP_CLIENT_IP"];
- }
- else {
- return $_SERVER["REMOTE_ADDR"];
- }
- }
- function contact_form_sc(){
- //shortcode attributes
- extract(shortcode_atts(array(
- "email" => get_bloginfo('admin_email'),
- "subject" => "",
- "label_name" => "Name:",
- "label_email" => "Email:",
- "label_subject" => "Subject:",
- "label_message" => "Message:",
- "label_submit" => "Send",
- "error_empty" => "Please fill in all the fields.",
- "error_noemail" => "Please enter a valid e-mail address.",
- "success" => "Thank you for your e-mail! I'll get back to you shortly."
- ), $atts));
- if ($_SERVER['REQUEST_METHOD'] == 'POST') {
- $error = false;
- foreach ($_POST as $field => $value) {
- if(!isset($field)){
- $error = true;
- $result = $error_empty;
- }
- }
- //sanitize all fields
- $s_name = sanitize_text_field($_POST["client_name"]);
- $s_subject = sanitize_text_field($_POST["subject"]);
- $s_message = esc_textarea($_POST["message"]);
- //sanitize email
- if(is_email($_POST["email"])){
- $s_email = is_email($_POST["email"]);
- } else {
- $error = true;
- $result = $error_noemail;
- }
- //send email if no error
- if(!$error){
- $email_subject = "[" . get_bloginfo('name') . "] " . $s_subject;
- $email_message = "Sender IP: " . get_sender_ip() . "\nFrom: " . $s_name . "\nReply to: " . $s_email . "\nMessage:\n\n" . $s_message;
- wp_mail($email, $email_subject, $email_message, $headers);
- $result = "<h1>" . $success . "</h1>";
- $sent = true;
- }
- }
- $email_form = '
- <div id="contact"><a name="contact"></a>
- <div id="intro">
- <h1>Nice to meet you</h1>
- What would you like?
- </div>
- <!--intro-->
- <form method ="post" action="' . get_permalink() . '">
- <div class="field"><label for="cf_name">'.$label_name.'</label>
- <input id="cf_name" tabindex="1" type="text" name="client_name" value="Enter your name" required/></div>
- <!--field-->
- <div class="field"><label for="cf_email">' . $label_email . '</label>
- <input id="cf_email" tabindex="2" type="email" name="email" value="Enter your e-mail address" required/></div>
- <!--field-->
- <div class="field"><label for="cf_subject">' . $label_subject . '</label>
- <input id="cf_subject" tabindex="3" type="text" name="subject" value="Enter your subject" required/></div>
- <!--field-->
- <div class="field"><label for="cf_message">' . $label_message . '</label>
- <textarea id="cf_message" tabindex="4" cols="30" name="message" rows="10" required></textarea></div>
- <!--field-->
- <input class="send" tabindex="4" type="submit" name="submit" value="' . $label_submit . '" />
- </form></div>';
- return $info.$email_form;
- }
- add_shortcode('contact', 'contact_form_sc');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement