меню

Контактная форма в 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, &nbsp; почта: 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 } ?>

Замечание о коде для контактной формы

Этот код позволяет установить в сайт форму с обратной связью (контактной формой), но дизайн страницы вы проработайте сами.