Обычно сайту нужна форма обратной связи для взаимодействия с владельцем сайтов. Одним из наших фаворитов является Contact Form 7. Давайте посмотрим, что она может делать!

Contact Form 7 – бесплатный, простой и гибкий (в WordPress это обычно значит, что есть простая установка для тех, кому нравится простота, и много глубины и сложности для тех, кто любит углубиться) плагин формы обратной связи. По мнению многих, Contact Form 7 — один из лучших плагинов формы контакта для нашей любимой системы управления контентом. Этот плагин в последний раз был обновлен в апреле, и всего на момент написания этой статьи был загружен 6,696,173 раз.

Вы можете посмотреть подробный обзор этого плагина в нашем видео уроке:

Плагин поддерживает множественные формы обратной связи, а также поддерживает отправку через AJAX, капчу, фильтрацию спама Akismet и загрузку файлов. Последняя версия на момент написания этой статьи – 3.1.2.

Официальный сайт — ContactForm7.com. Загрузить плагин можно с директории плагинов WordPress. Подробную документацию можно найти в разделе сайта.

contactform 640x278 Contact Form 7 — WordPress плагин для контактной формы

Если вы не знаете, что такое плагины и как их устанавливать, посмотрите этот урок. После установки и активации, вы увидите отдельный пункт меню «Contact» в интерфейса администратора.

Код формы

Вот простая форма, где вы можете заказать мобильный телефон. Вы можете указать марку, цвет и способ оплаты.

cf7 main small Contact Form 7 — WordPress плагин для контактной формы

<p>Product *<br /> [select* product "iPhone" "Samsung Galaxy S2" "htc Desire"] </p>
<p>Color *<br /> [select* color "black" "white" "grey"] </p>
<p>Name *<br /> 1 </p>
<p>Email *<br /> [email* your-email] </p>
<p>Preferred payment <br /> [radio paymethod "VISA" "MASTERCARD" "AMEX"]</p>
<p>[checkbox quickdelivery] Quick delivery (1 day)</p>
<p>[submit "Place order"]</p>

Вставка кода формы

Используйте этот фрагмент кода для вставки всей формы, описанной выше, в соответствующую статью или страницу.

[contact-form-7 id="38" title="cell-phone-ordering-form"]

Базовый синтаксис

Синтаксис тегов включает поля тип, имя и значения. Звездочкой отмечаются обязательные элементы.

[type name values] for example: [radio paymethod "VISA" "MASTERCARD" "AMEX"]

Типы тегов

Вот список всех тегов, которые вы можете использовать в ваших формах:

  • Текстовые поля (text, text*, email, email*, textarea и textarea*).
  • Чекбоксы, радиобаттоны и меню (checkbox, checkbox*, radio, select и select*).
  • Загрузка и прикрепление файлов (file и file*).
  • Капча (captchac и captchar).
  • Контрольный вопрос (quiz).
  • Чекбокс согласия (acceptance).
  • Кнопка отправки (submit).

Создание двух-колоночной формы

Мы можем быстро создать форму в две колонки, просто используя немного HTML и CSS. Небольшой секрет в том, что мы комбинируем HTML с тегами формы.

<!-- TWO COLUMN FORM -->
<div class="clearfix">
	<div id="left">
		First name 1 <br/>
		Email [email* your-email]
	</div>
	<div id="right">
		Last Name1 <br/>
		Phone1
	</div>
</div>
Subject 1 <br/>
Message [textarea* your-message] <br/>
[submit "Send"]
<!-- /TWO COLUMN FORM -->

Затем CSS код. Ничего особенного, просто базовый стиль.

#left {
    width: 300px;
    float: left;
}

#right {
    width: 250px;
    float: left;
}  

.clearfix:after {
    content:"\0020";
    display:block;
    height:0;
    clear:both;
    visibility:hidden;
    overflow:hidden;
}  
.clearfix {
    display:block;
}

Расширенный синтаксис

Синтаксис тегов может быть шире. Параметр options обозначает поведение и вид. Объявление параметров не обязательно, но вот как вы можете это сделать. Обратите внимание, что в этом примере мы используем свойства id и class. Вы можете использовать CSS и JavaScript, чтобы расширить вашу форму.

[type name options values]
for example:
[radio paymethod id:paynow class:paythis "VISA" "MASTERCARD" "AMEX"]

Установка шаблона письма

В Contact Form 7 вы можете очень просто редактировать шаблоны писем. Текст, HTML код и данные из формы могут комбинироваться соответствующим образом. Обратите внимание, что данные из формы — в скобках. Ниже приведен пример для тела письма.

Dear [yourname],

You have just ordered a [product] product in [color] color!
Soon you will get an email with the link to where you can pay for your order.  
---
Thanks for buying!
OurCompany LLC, www.ourcompany.com

mail template Contact Form 7 — WordPress плагин для контактной формы

Вот список того, что вы еще можете установить через панель администратора:

  • основные поля заголовка (адресат, отправитель и тема);
  • тело письма;
  • дополнительные заголовки;
  • прикрепленные файлы;
  • режим HTML.

Добавление капчи

Плагин позволяет вам вставлять капчу в вашу форму обратной связи для того, чтобы избежать нежелательных сообщений. Contact Form 7 использует в качестве модуля капчи Really Simple CAPTCHA. Перед тем, как мы начнем, вам нужно установить плагин Really Simple CAPTCHA. Убедитесь, что ваша временная папка для файлов капчи существует и открыта для записи. Иначе капча не создастся.

Для использования капчи в ваших формах вам нужно использовать теги формы captchac и captchar.

  • Сaptchac возвращает вопрос капчи и представляет элемент <img /> для изображения капчи.
  • Captchar возвращает ответ на капчу и представляет элемент <input type="text" /> для поля ввода ответа.

Тег captchac должен всегда объединяться с тегом captchar одинаковым именем. Например, вот так:

<!-- insert this into your CF7 form code -->
[captchac captcha-1] [captchar captcha-1]

Ошибки отправки

Failed to send your message. Please try later or contact administrator by other way...

Если сервер не позволяет отправлять почту через sendmail (), вы можете использовать плагин для отправки почты через SMTP. Оба варианта совместимы с WordPress 3.3. Вот плагины, которые могут решить ваши проблемы:

Скачайте и установите выбранный плагин в WordPress. Укажите настройки для вашего SMTP сервера на странице настроек.

Свои сообщения о событиях

Мы можем просто изменить сообщения, которые отображаются при некоторых событиях.

event messages Contact Form 7 — WordPress плагин для контактной формы

Даже лучше, мы можем использовать HTML код в блоках ввода! Попробуйте этот:

Your message was successfully sent. Thank you!
<br/>
<img src="http://domain.com/yourpicture.jpg"/>

Поддержка языков

Contact Form 7 по умолчанию показывает формы на английском, но включает больше 40 языков для перевода, и вы можете создать форму на любом языке. Чтобы использовать интерфейс администратора на своем языке, установите константу WPLANG в вашем файл wp-config.php.

// Change this line:
define ('WPLANG', 'ja');

Использование введенных данных на сервере без отправки почты

Если вы хотите что-нибудь отличное от отправки по почте, вам нужно использовать следующий код:

add_action("wpcf7_before_send_mail", "wpcf7_do_something_else");

function wpcf7_do_something_else(&$wpcf7_data) {

    // Here is the variable where the data are stored!
    var_dump($wpcf7_data);

    // If you want to skip mailing the data, you can do it...
    $wpcf7_data->skip_mail = true;
}

Установка прав для изменения формы только администраторами

Чтобы защитить возможность редактирования, используйте следующий код:

define('WPCF7_ADMIN_READ_CAPABILITY', 'manage_options');
define('WPCF7_ADMIN_READ_WRITE_CAPABILITY', 'manage_options');

Динамическое заполнение полей

По умолчанию значения в Contact Form 7 статические. Например, у вас есть параметр GET, который вы хотите использовать для заполнения формы. Тогда решением для вас является Contact Form 7 Dynamic Text Extension. Этот плагин поддерживает новый тип тега, который разрешает динамическую генерацию контента. После установки и активации плагина, у Contact Form 7 будет два новых типа: Dynamic Text Field и Dynamic Hidden Field.

Как вы видите, у этого плагина форм обратной связи большой потенциал. Мы описали только небольшую часть его возможностей. Если вы не нашли чего-то здесь, углубитесь в документацию на официальном сайте. Не бойтесь начать прямо сейчас! Наслаждайтесь!

Источник: WP.tutsplus.com
VN:F [1.9.22_1171]
Rating: 5.0/5 (20 votes cast)

Contact Form 7 — WordPress плагин для контактной формы, 5.0 out of 5 based on 20 ratings

Вам понравился материал?
  • QQQ

    воистину для людей блог)))))))

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  • Art

    Cоздав форму обнаружил небольшую ошибку, если Вы знаете, как можно ее обойти — буду крайне признателен.

    Ошибкав следующем:

    Возможность прикрепить файл при отправке письма возможна только на стационарном ПК — на мобильных устройствах функция пассивна.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    • http://wordpresso.org Wordpresso

      Это не ошибка, а особенность реализации данного плагина.

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
  • alex

    Добрый день! вопрос — не отображается капча. Почитал в статье, что нужно, чтобы временная папка для файлов капчи существовала и была открыта для записи. Как это проверить, куда глянуть?

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    • http://wordpresso.org Wordpresso

      Откройте эту папку с помощью любого FTP клиента, например, FileZilla, и посмотрите установленные права доступа к папке.

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
  • alexandr

    А можно ли с данным плагином реализовать следующую фишку- Например чтобы пользователь мог сам вводить емайл получателя письма, как бы приглашая на сайт? я пробовал колдовать в полем Адресат(2), но бесполезно

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    • http://wordpresso.org Wordpresso

      Это не предусмотрено стандартными возможностями данного плагина.

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
  • http://kopirka-ekb.ru/ Agor2010

    Здравствуйте, при прикреплении файла всегда пишет «файл не выбран», хотя я выбираю. В чем может быть дело?

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    • http://wordpresso.org Wordpresso

      Файл какого расширения вы выбираете? Попробуйте переустановить плагин контактной формы заново.

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
  • Dgtu-news

    Здравствуйте. Подскажите, пожалуйста.

    Когда пользователь выбирает файл на компе, отправляет через эту контактную форму, то мне на e-mail приходит не фотография, а её название. Например «Фото: primer.jpg»

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  • Magus

    Здравствуйте, у меня такой вопрос: Почему плагин contact form 7 не адаптируется к странице (т.е. не принимает вид шаблона)? Из-за чего такое может быть?

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    • http://wordpresso.org Wordpresso

      Потому что это не предусмотрели разработчики. Оформление и дизайн формы остается за вами, плагин обеспечивает лишь функционирование самой формы.

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      • Magus

        Хм, но он у меня был адаптирован, а потом почему-то все слетело и стал обычный вид...

        VA:F [1.9.22_1171]
        Rating: 0.0/5 (0 votes cast)
      • Magus

        У вас даже на видео было видно, что плагин сам адаптировался под тему.

        VA:F [1.9.22_1171]
        Rating: 0.0/5 (0 votes cast)
  • Наталия

    Установила плагин Contact Form 7, создала форму, а при отправки данных выдает ошибку «Ошибка при отправке сообщения. Попытайтесь позже или обратитесь к администратору сайта.» Подскажите как быть? делала все по видеоуроку.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    • http://wordpresso.org Wordpresso

      Странно, обычно с этим плагином никаких проблем! Попробуйте переустановить плагин заново.

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      • Наталия

        Переустанавливала все тоже самое, может нужно что то настроить в самом ворд прессе?

        VA:F [1.9.22_1171]
        Rating: 0.0/5 (0 votes cast)
        • http://wordpresso.org Wordpresso

          Нет, никаких дополнительных настроек не требуется. Обратитесь в поддержку к вашему хостеру с этой проблемой.

          VA:F [1.9.22_1171]
          Rating: 0.0/5 (0 votes cast)
    • Антон

      Та же проблема...

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
  • Наталия

    Я установила contact form7, сделала форму, но выдает ошибку при отправки сообщения, я так понимаю что нужно еще и вот этот WP Mail SMTP или Configure SMTP плагины установить. Какой из них устанавливать и требует ли они каких то настроек? Если да подскажите каких.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  • Елена

    Здравствуйте! Установила плагин, все работает, все отлично. Но вот внешний вид формы совсем не нравится, уж очень простоват. Подскажите, пожалуйста, есть ли какое-то оформление для формы, я в настройках не нашла.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    • http://wordpresso.org Wordpresso

      Оформление остается за вами, можно добавить стили оформления в файле style.css.

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
  • Диана

    Спасибо, Александр! Всё получилось сразу, благодаря вашему видеоуроку!

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  • Айрат

    Здравствуйте! Спасибо за информацию по установке и ваш видеоурок!

    Всё работает, но есть одно НО. При отправке файла на почту приходит лишь название прикреплённого файла, но не сам файл. (напр. Работа.doc) В чём может быть причина?

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    • http://wordpresso.org Wordpresso

      Вы не первый, кто обращается с этой проблемой. На самом деле мы сами не в курсе, почему так может происходить. Надеемся, в новой версии этот баг будет устранен.

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      • Айрат

        а не подскажете ещё какой-н плагин без этой проблемы. (кстати, все отправленные файлы лежат на фтп сервере, папка uploads)

        VA:F [1.9.22_1171]
        Rating: 0.0/5 (0 votes cast)
        • Айрат

          кстати, вот с форума человек вроде разобрался но я его не понял(((

          ответ на мой же вопрос-"Единственное, что мне приходит на ум – ты подключил в блок Mail элемент

          “приложения формы” (по аналогии с темой письма и текстом сообщения)?"

          человек вроде разобрался с такой же проблемой как у меня — «Спасибо, я настроил. Не правильно дал понять, что на мэйл должно приходить – исправил и работает!»

          Можете объяснить как он настроил?) не могу до него достучаться...

          VA:F [1.9.22_1171]
          Rating: 0.0/5 (0 votes cast)
      • Айрат

        УРРРАААА!!!! Я РАЗОБРАЛСЯ !!! спасибо одному хорошему сайту.

        Второй тег . (находится на зеленом поле) нужно скопировать в форму шаблона письма администратору в поле Прикрепленные файлы !!!(это слева, под Адресатом! а я копировал только в Тело сообщения!(кот справа).

        Ура , блин)))

        VA:F [1.9.22_1171]
        Rating: 0.0/5 (0 votes cast)
        • вадим

          Красавчик!!! Спасибо!))))

          Владельцы сайта не догнали, а ты разобрался)))

          Всем спасибо огромное, очень помогло, статья супер! Дай бог процветания! )

          VA:F [1.9.22_1171]
          Rating: 0.0/5 (0 votes cast)
  • http://www.facebook.com/tsepelev.vilord Вилорд Цепелев

    Добрый день!

    Подскажите, есть ли возможность не отправлять введенные данные (тело сообщения) на почту, а вместо этого, отображать текст, который должен отправляться — здесь же, под формой, после нажатия кнопки.

    Т.е. сделать что-то типа генерации введенной информации в единый текст, при этом используя текст именно из «тела сообщения».

    По моей задумке, если это возможно, этот плагин бы стал неким генератором html-кода.

    Спасибо!

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  • http://altyncev.ru/ Vladislav Altyncev

    Форма отличная... Вот только при редактировании Тела сообщения и добавлении более 2 символов кириллицы, все остальные поля обнуляются, туда вписывается буква а. Но это видимо в БД какая то проблема, хотя и не должно быть ничего такого.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  • Светлана

    Александру Мельнику — особое, огромное спасибо! Я сделала все по Вашему видеоуроку и у меня отлично работает. СПАСИБО!!!!!!!!

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  • Vladimir Novikov

    столкнулся с такой проблемой, что не все заявки доходят до меня. провел тест. в течение часа отправлял запросы из контактной формы 7 и лишь 2 из 5 дошли до gmail.com Какие могут быть варианты решения проблемы?

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    • http://wordpresso.org Wordpresso

      Очевидно, что этот вопрос нужно задать разработчику данного плагина) Попробуйте другой плагин контактной формы, или может у вас гмейл блокирует в спам какието письма.

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
  • http://twitter.com/EugeneMESblogs Москаленко Евгений

    А не подскажите, как реализовать с помощью такого плагина форму для отправки заказа, скажем есть товар на странице и кнопка заказать, после нажатие название товара добавляется в поле.

    Можно ли с помощью данного плагина сделать форму заказа на отдельной странице, но не самому вписывать название товара, а после нажатия кнопки «Заказать» оно автоматически подгружалось в поле товар или не подгружалось, но администратор види, что заказали именно этот товар, а не какой-то другой!

    Спасибо!)

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    • http://wordpresso.org Wordpresso

      Вы пытаетесь использовать контактную форму для формы заказа товаров. Зачем изобретать велосипед и все усложнять, если есть готовые решения для вашей задачи? Поищите готовый ecommerce плагин.

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
  • http://twitter.com/popov360 Anton Popov

    Подскажите а можно ли как нибудь организовать запись онлайн на прием к врачу? Должен быть выбор дня, времени. Ну и чтобы все это отслеживалось в админке.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    • http://wordpresso.org Wordpresso

      Мне кажется, для этого есть более подходящие плагины календаря.

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
  • Lexa

    помогите!!! при нажатии на «отправить» пытается отправить сообщение но ничего не выводит а только пытается до тех пор пока не обновлю страницу,что делать?подскажите пожалуйста. заранее блогадарю

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  • Иван

    Приветствую, такой вопрос: если сайт находятся на денвере (ещё не залит на хостинг) должно ли приходить сообщение на почту при отправке через контактную форму? сообщение не приходит:)

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    • http://wordpresso.org Wordpresso

      Тут могут быть нюансы в зависимости от настроек вашего локального сервера. Скорее всего прямо «из коробки» отправка писем работать не будет.

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
      • Иван

        спасибо)

        VA:F [1.9.22_1171]
        Rating: 0.0/5 (0 votes cast)
  • Александр

    Спасибо! Скажите, мне надо вставить код в виджет в сайдбар.

    Код вставляется, отображается, работает Но вот беда — сайдбар у меня узенький, 200 px.

    Как можно уменьшить форму по ширине?

    Спасибо!

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    • http://wordpresso.org Wordpresso

      Нужно править стили оформления: либо править style.css от установленной темы, чтобы расширить сайдбар, или править стили от контактной формы в плагине, чтобы сузить ее поля.

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
  • http://www.facebook.com/profile.php?id=100004546714801 Ivan Petrov

    Выручайте!!!

    Классный плагин, НО! В той теме что я использую возникла проблема. При отправке сообщения стрелки крутятся, а оповещение о том что «Ваше сообщение отправлено» — не появляется. Но письма на самом деле отправляются. Думаю что возникает конфликт подключения скриптов шаблона и CF7. Помогите пожалуйста решить проблему.

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    • A B

      То же самое — все приходит, но пользователю не отдает ответ «отправлено / не отправлено». Учитывая выбрыки с java и jquery с лайтбоксом и т.д. — подозреваю, что это нюанс самой темы ВордПресс. Но от этого не легче ))

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
  • Виктория

    Пожалуйста, помогите: не работает Contact form7: переустанавливала миллион раз, он не отображает контактную форму на странице «404 not found»

    WP 3.5.1,с 3.5 тоже не работает

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
    • http://wpcafe.org/ WPcafe.org

      А зачем вам контактная форма на 404 странице? Может это вопрос к теме оформления, а не к плагину? Нужно разбираться с файлом 404.php в теме

      VA:F [1.9.22_1171]
      Rating: 0.0/5 (0 votes cast)
  • Den

    Здравствуйте! Может кто подскажет... Форма обратной связи (Contact form7). Форма отправляет письмо, а в поле «от» в приходящем письме пишет следующее: WordPress [...адрес...]. Т.е. в скобках выводит то, что я прописываю в поле «Отправитель» шаблона формы письма. Вопрос: как убрать «Wordpress»?

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)
  • lelik72ru

    Всем доброго! В гугле уже 3й день — без результатов! Вопрос таков... установил плагин, создал форму, поле для отправки файла. Отправляет без проблем — выводит все сообщения — работает как надо! Но — в почту приходит письмо только с именем файла, самого файла нет! в папке uploads/wpcf7_uploads — файлов тож нет! Здесь лежит .htaccess с содержимым Deny from all. Помогите разобраться, плиз! Спасибо!

    VA:F [1.9.22_1171]
    Rating: 0.0/5 (0 votes cast)