Контактная форма в WordPress
В WordPress можно устанавливать контактную форму несколькими способами, с помощью плагинов и с встроенными возможностями WordPress, то есть без плагина.
Контактная форма с помощью плагина Contact Form
Есть такой плагин под названием Contact Form, который дает возможность установить на своем сайте контактную форму.
Скачать этот плагин вы можете в официальной директории плагинов WordPress, а установка этого плагина обычная.
Контактная форма в WordPress с встроенными возможностями
В такой умной системе управления сайтом как CMS WordPress, можно делать разные полезные вещи используя только встроенные возможности. В том числе и контактную форму.
Для этого нужно создать шаблон страницы для контактной формы (мы назвали шаблон contact), а затем вставить в этот шаблон PHP код для обработки и отправке писем с сайта.
Вот PHP код этого шаблона:
<?php
/*
Template Name: contact
*/
?>
<form action="<?php the_permalink(); ?>" style="background: #FFF2CF; padding: 5px; min-width: 170px; border: 1px dotted #cccccc;" method="post">
<label for="contactName">Имя:</label>
<p>
<input type="text" name="contactName" style='border: 1px solid #cccccc;' value="" />
</p>
<label for="email">E-mail</label>
<p>
<input type="text" name="email" style='border: 1px solid #cccccc;' value="" />
</p>
<label for="commentsText">Сообщение:</label>
<p>
<textarea name="comments" style='border: 1px solid #cccccc; width: 70%; min-width: 155px; max-width: 95%;' rows="12" cols="30"></textarea>
</p>
<button type="submit" style='border: 1px solid #cccccc; border-radius: 3px; padding: 2px; background: #F0F0F0;' >Отправить</button>
<input type="hidden" name="submitted" value="true" />
</form>
<p style='margin-top: 10px; background: #FFF2CF; padding: 5px; min-width: 170px;
border: 1px dotted #cccccc; color: black !important; font-size: 17px;'>
Тел: 8 (775) 20 96 796, почта: almatysite@mail.ru
</p>
<?php
if(isset($_POST['submitted'])) {
if(trim($_POST['contactName']) === '') {
$nameError = 'Введите ваше имя.';
$hasError = true;
} else {
$name = trim($_POST['contactName']);
}
if(trim($_POST['email']) === '') {
$emailError = 'Введите e-mail адрес.';
$hasError = true;
} else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {
$emailError = 'Вы ввели неправильный адрес.';
$hasError = true;
} else {
$email = trim($_POST['email']);
}
if(trim($_POST['comments']) === '') {
$commentError = 'Введите сообщение.';
$hasError = true;
} else {
if(function_exists('stripslashes')) {
$comments = stripslashes(trim($_POST['comments']));
} else {
$comments = trim($_POST['comments']);
}
}
if(!isset($hasError)) {
$emailTo = get_option('tz_email');
if (!isset($emailTo) || ($emailTo == '') ){
$emailTo = get_option('admin_email');
}
$subject = '[Веб-мастерская] от '.$name;
$body = "Имя: $name \n\nE-mail: $email \n\nСообщение: $comments";
$headers = 'От: '.$name.' <'.$emailTo.'>' . "\r\n" . 'Ответить: ' . $email;
$headers = "Content-type: text/plain; charset=\"utf-8\"";
mail($emailTo, $subject, $body, $headers);
$emailSent = true;
}
} ?>
<?php if(isset($emailSent) && $emailSent == true) { ?>
<div class="thanks"><p>Спасибо, ваше сообщение удачно отправлено!</p></div><?php } else { ?>
<?php if(isset($hasError) || isset($captchaError)) { ?>
<p class="error">
Извините, Вы не правильно заполнили e-mail!
<p>
<?php } ?>
<?php } ?>
Замечание о коде для контактной формы
Этот код позволяет установить в сайт форму с обратной связью (контактной формой), но дизайн страницы вы проработайте сами.