Преимущества создания собственной контактной формы. Защита от спама с помощью Akismet

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

Сегодня мы разберем с вами как можно создать за несколько минут легкую , красивую и функциональную форму обратной связи с помощью моего любимого плагина Contact Form 7 .

Я постараюсь максимально подробно объяснить все этапы установки контактной формы, и в связи с этим урок получится достаточно длинным 🙂

Создание контактной формы в WordPress

В самом начале хочу заметить, что плагин Contact Form 7 русифицирован, и никаких проблем с ним у вас не будет. Как доказательство моих слов может выступать тот факт, что данный плагин скачали БОЛЕЕ 25 МИЛЛИОНОВ РАЗ!!!

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

1. Установите и активируйте плагин Contact Form 7 . Как устанавливать плагины вы можете .

2. После активации перейдите в Contact Form 7 -> Формы .

3. В открывшемся окне копируем строчку с кодом вставки.

4. Скопированный код вставляем на ту страницу, на которую мы хотим добавить форму обратной связи. После того как вставили код, не забудьте сохраните изменения нажав кнопку «Обновить» .

Вот такой результат добавления контактной формы по получим:

Готово! Вы установили рабочую форму обратной связи на свой сайт!

Как видите, всего за несколько минут можно с легкостью установить на сайт форму обратной связи. На этом можно и поставить точку, но тем, кого не устраивает стандартная форма и кто хочет создать полностью новую контактную форму с другими полями и возможностями — рекомендую читать урок до конца.

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

Для этого нам нужно чтобы в форме были такие поля для заполнения:

  • Имя (Обязательное поле для заполнения)
  • Фамилия
  • Телефон (Обязательное поле для заполнения)
  • Поле с выбором удобного времени для звонка

После того как мы определились с полями, переходим к созданию формы:

1. Переходим в Contact Form 7 -> Добавить новую.

2. В открывшемся окне нажимаем кнопку «Добавить новую» . Если необходимо, выберите язык в выпадающем списке ниже. По умолчанию язык будет русским .

3. После нажатия кнопки вы перейдете на страницу, на которой находится редактор формы .

В самом верху страницу поле, в которое пишем название новой формы . В Шаблоне формы мы видим стандартные поля формы, которые создаются по умолчанию.

Ниже мы видим настройки письма, которое приходит на вашу почту после того, как кто-то отправил заказ с формы на сайте. В этих настройках, к примеру, можно изменить или добавить e-mail на который будут приходить запросы с формы на вашем сайте. В шаблоне письма настраивается информация, которая будет отображаться внутри письма.

4. После того, как мы поверхностно ознакомились с структурой редактора, переходим к созданию нашей новой формы. Для этого нам нужно УДАЛИТЬ из шаблона формы все строчки кроме кнопки «Отправить», а в шаблоне письма удалить все полностью. После удаления у вас должно получится так:

5. Теперь нам нужно создать новые поля: Имя (обязательное), Фамилия , Телефон (обязательное), Удобное время звонка .

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

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

6. После того, как мы добавили поле для ввода имени, нажимаем «Сгенерировать тег» -> Текстовое поле и по аналогии создаем поле Фамилия и Телефон , копируя и вставляя код в шаблон формы и шаблон письма. Отличие только в том, что для поля Фамилия ставить галочку для обязательного заполнения не нужно.

После добавления полей Имя, Фамилия и Телефон редактор формы будет выглядеть так:

7. Теперь создаем поле Удобное время звонка. Для этого нажимаем «Сгенерировать тег» и выбираем «Выпадающее меню» .

В поле Выбор пишем в строчку по одному варианту, в нашем случае это время с 8-00 до 18-00 с промежутками в два часа. После заполнения копируем соответствующие строчки кода в шаблон формы и шаблон письма.

В итоге у вас должно получиться вот так:

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

После того как пользователь сделает заказ обратного звонка с вашего сайта, на вашу почту придет письмо с таким наполнением:

ГОТОВО! Вот мы с создали с вами форму заказа обратного звонка с нуля .

Согласен, что для некоторых все может показаться очень сложным и страшным, но такое ощущение будет только до первого создания контактной формы с нуля 😉

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

Надеюсь этот урок был вам полезен, и вы разобрались с плагином Contact Form 7.

Если у вас будут возникать по ходу создания формы вопросы или что-то будет не получаться — пишите и задавайте вопросы в комментариях .

И помните, что форма обратной связи на сайте — обязательный атрибут на странице контактов .

Здравствуйте, друзья! В этом уроке мы поговорим о создании формы обратной связи, или как еще говорят в народе "контактной формы". Сегодня мы разберем с вами как можно создать за несколько минут легкую, красивую и функциональную форму обратной связи с помощью моего любимого плагина Contact Form 7. Я постараюсь максимально подробно объяснить все этапы установки контактной формы, и в связи с этим урок получится достаточно длинным:) Создание контактной формы в WordPress В самом начале хочу заметить, что плагин Contact Form 7 русифицирован, и никаких проблем с ним у вас не будет. Как доказательство моих слов может выступать тот факт, что данный плагин…

Обзор

Проголосуйте за урок

100

Оценка

Итог: Уважаемые читатели! Не поленитесь проголосовать и оставить комментарий. Таким образом я смогу понять полезность уроков и статей, и улучшить их качество в будущем. Заранее спасибо!

Контактные формы являются необходимым атрибутом большинства сайтов. С их помощью осуществляется непосредственное общение с посетителем, особенно если на сайте не представлено иных способов связи.

Каталог WordPress насчитывает десятки плагинов контактных форм. Но наиболее популярным среди них (более миллиона установок) является Contact Form 7 , на примере которого мы и будем рассматривать создание контактной формы на сайте.

Создание формы

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

После установки и активации плагина в админ-панели появляется целый раздел:

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

Итак, введя название, например, «Связаться с нами » и нажав кнопку Сохранить , Вы таким образом создадите готовую к показу контактную форму. Чтобы ее увидеть, нужно перейти Contact Form 7 > Контактные формы .

Обратите внимание на значение поля Шорткод . Код, взятый в квадратные скобки, будет использован для показа формы на сайте.

Вывод формы на сайте

Чтобы посетители сайта смогли воспользоваться формой контактов, ее где-то нужно вывести. Для этого создадим отдельную страницу с названием, например, «Связаться с нами «. Итак, переходим Страницы > Добавить новую . В заголовке пишем «Связаться с нами «, а в поле снизу вставляем вышеуказанный шорткод. В итоге должно получится:

Современный сайт невозможно представить без формы обратной связи. Это неотъемлемая часть должна присутствовать на любом сайте, независимо от его тематики. Контактная форма позволяет вебмастеру полноценно общаться со своими посетителями, при этом не публикуя в свободном доступе своих данных, таких как e-mail или номер телефона.

Это позволяет не просто отвечать на вопросы посетителей, но даже обрабатывать заявки или заказы. А вот открытие своего электронного адреса чревато тем, что вскоре он будет завален спамом . Для этого спам-боты круглосуточно рыскают по просторам всемирной паутины в поисках новых адресов, куда можно отсылать свою ненужную информацию. В результате захламления почтового адреса можно попросту не заметить важного письма. А вот плагин контактной формы для сайта успешно решает эту задачу. Пользователю остается лишь заполнить специальное поле для отсеивания ботов, например, ввести капчу, и на почтовый ящик владельца сайта будет поступать только нужная корреспонденция.

Какие задачи решает контактная форма на сайте?

Тем не менее, спокойствие веб-владельца - это не единственная задача, с которой успешно справляется контактная форма. Ей удается достаточно успешно осуществлять еще несколько функций. Самыми важными из них можно назвать:

  1. Поддержание контакта с аудиторией сайта. Вряд ли кто-то будет спорить с тем, что просто так заполнять форму обратной связи никто не будет. Скорее всего, у человека, который идет на это, возник какой-то вопрос, который он бы хотел задать лично автору сайта. В итоге владелец сайта уже получает заинтересованного пользователя, а может быть даже и потенциального клиента, который поделился своими контактными данными. То есть дальше уже все будет зависеть от владельца сайта.
  2. Призыв к действию. Что такое призыв к действию и как он подталкивает пользователей к выполнению различных действий, пояснять не нужно. Но именно его можно связать с контактной формой на сайте. Например, в обмен на контактные данные пользователя, ему можно предложить закрытую рассылку с полезными материалами, скидку на покупку в интернет-магазине, участие в розыгрыше призов и т.д. Такие призывы могут не только помочь в сборе базы контактов для дальнейшего взаимодействия, но и привлечь новых потенциальных клиентов.
  3. Оживление страниц при помощи интерактивных форм. Контактные формы могут быть не только статичными. Всплывающие формы, хоть и кажутся многим пользователям сайтов навязчивыми, могут вполне «оживить» страницы сайта. Главное, при создании таких форм - не перестараться.

Как обзавестись контактной формой?

Снабдить свой сайт подобной формой несложно. Контактная форма html, которая имеет всего несколько полей - вполне решаемая задача для профессиональных фрилансеров, которые за небольшую сумму смогут ее сделать. Кроме того, код контактной формы можно найти и самостоятельно в интернете. Но вот только у таких методов есть немало недостатков. Дело в том, что такая интерактивная форма - это лицо сайта, а значит, она должна быть привлекательной. Что делать если в ней что-то не будет устраивать, особенно спустя какое-то время? Где искать того разработчика, который писал код формы, чтобы он внес нужные изменения? А если отправка формы php найдена на просторах глобальной сети, а навыков в программировании нет, то изменение формы кажется вообще делом невозможным.

Кроме того, контактная форма должна работать как часы , ведь все отправленные сообщения должны дойти адресату, а не потеряться по пути. Представьте, если крупный заказчик отправил через форму обратной связи предложение о сотрудничестве, а автор сайта и ли менеджер интернет-магазина его не получил? Наверное, не нужно объяснять, что повторно отправлять свое предложение он не будет, а уйдет к конкурентам, у которых контактная форма работает как нужно. Все это чревато потерей не только денег и клиентов, а и репутации, что в конечном итоге может быть еще хуже.

FormDesigner - идеальное решение для создания контактной формы

Благодаря использованию онлайн-конструктора форм FormDesigner создать свою интерактивную форму обратной связи стало просто, как никогда. Во-первых, это быстро, всего несколько кликов и форма готова для размещения на сайт. Во-вторых, работать с конструктором неимоверно просто, для этого не нужно быть программистом или иметь специальные навыки или знания. Форма отправки email благодаря конструктору будет создана даже начинающим вебмастером благодаря понятному и простому интерфейсу. В- третьих, в уже созданную форму всегда можно внести изменения в соответствии с новыми пожеланиями или необходимостью. Редактировать форму также просто, как и создавать новую, а благодаря отображению изменений в онлайн-режиме можно сразу видеть все изменения, которые вносятся в форму. Помимо этого, сайт сайт предоставляет и другие преимущества для пользователя, среди которых:

  • Создания контактных форм с возможность отправлять файл владельцу сайта;
  • Сообщения об ошибках при создании форм;
  • Возможность создания мультиязычных форм;
  • Визуальный дизайнер создаваемых форм;
  • Подробная статистика по всем заявкам и многое другое.

Работа с сервисом FormDesigner

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

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

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

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

Таким образом онлайн-конструктор форм позволяет создавать и редактировать контактные формы для любых сайтов в соответствии с пожеланиями и потребностями их владельцев всего за несколько минут. Любой пользователь сможет быстро редактировать свои формы, добавлять в них новые поля или удалять ненужные элементы, создавать собственные сообщения об ошибке при использовании формы. А продвинутых пользователей наверняка заинтересует возможность работать с дизайном, настраивая CSS-свойства создаваемой формы на свой вкус, чтобы она соответствовала дизайну веб страницы.

Отдельно стоит отметить, что если при работе с сервисом возникнут вопросы, то можно смело обращаться к технической поддержке , которая поможет решить возникшие проблемы. Начать использовать онлайн-конструктор можно абсолютно бесплатно, при этом получив доступ ко всем наиболее важным функциям онлайн конструктора. С использованием сервиса FormDesigner создание собственных веб-форм для сайта становится неимоверно простым и быстрым.

Видео урок по созданию контактной формы на сайте

Приветствую вас, друзья. Сегодняшний урок поможет вашему wordpress сайту обзавестись симпатичной и функциональной формой обратной связи. Сделаем мы ее с помощью плагина Contact Form 7. В свое время я потратил немало времени на поиски нормальной контактной формы и достойной альтернативы данному плагину так и не нашел.

Возможности плагина

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

Главное достоинство контактной формы на Contact Form 7 в простоте ее настройки, почти неограниченной функциональности и автоматической подстройке дизайна под любые шаблоны WordPress . С ее помощью можно сделать не только форму для отправки сообщений с сайта. Плагин можно использовать для создания кнопки заказа, обратного звонка или сложной анкеты с чекбоксами и выпадающими списками. Также, есть возможность прикреплять для передачи файлы.

Одним словом, плагин мегафункциональный.

Если вас до сих пор волнует вопрос «делать или не делать форму связи?» (можно обойтись простым размещением контактных данных на нужных страницах), то я скажу однозначно – делать стоит.

Во-первых, отправлять сообщение прямо с сайта удобнее, чем открывать почтовую программу и там заполнять все вручную. Экономия времени никому не помешает.

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

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

В-четвертых, это просто стильно и современно.

Установка и настройка плагина Contact form 7

Плагин есть в общей базе wordpress, поэтому нет необходимости искать где-то его файлы, скачивать их себе и потом закидывать на хостинг. Все делается проще – через админку wordpress входите в раздел плагины, набираете в поле для поиска «Contact form 7» и устанавливаете его. Если вы никогда плагины не ставили, то подробная инструкция как установить плагин .

Настройка плагина Contact form 7

Настройка плагина состоит из двух этапов.

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

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

Итак, поехали.

Для начала в левом меню панели администратора находим вкладку Contact form 7. Под ней всплывет меню с двумя пунктами – «Формы» и «Добавить новую».

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

Настройка формы разделена на отдельные блоки. Рассматривать их я буду по порядку.

Блок «Название формы»

Первый блок отвечает за название вашей формы – поставьте курсор на надпись «Без названия» и введите нужное вам имя. Это название будет отображаться только вам в списке контактных форм плагина, так что делайте его понятным для вас, чтобы в будущем не запутаться во всем многообразии.

Блок «Шаблон формы»

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

Звездочками помечены поля обязательные для заполнения. Если такое поле оставить пустым, то сообщение не будет отправляться.

Расположение полей можно настраивать с помощью обычной html разметки.

Что касается настройки самих полей, то вы можете удалить ненужные и добавить те, которые вам потребуются. Если вы не хотите, чтобы тему письма вносили вручную – просто удалите соответствующий блок.

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

Выберите нужный элемент и настройте его параметры. Плагин на русском, поэтому все настройки интуитивно понятны.

Первый чекбокс указывает на обязательность или необязательность поля (он добавляет звездочку).

После настройки поля у вас появятся 2 шорткода:

  • «Скопируйте этот код и вставьте его в шаблон формы слева» – этот код вставляется в код формы аналогично со всеми остальными;
  • «И вставьте следующий код в шаблон письма ниже» – этот код понадобится нам для оформления письма в следующем блоке.

Таким образом вы можете добавить в форму любое количество полей, чекбоксов, выпадающих списков, элементов для прикрепления файлов и т.д.

Блок «Письмо»

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

Наша задача включить в письмо всю информацию.

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

Вторым пунктом указывается электронный ящик, с которого письмо будет отправлено вам. Я бы ничего тут не менял, по умолчанию указан почтовый ящик вашего блога и к нему добавлен тег с именем человека, отправляющего сообщение.

Дальше мы указываем тему письма. Стандартно, тема берется из поля , которое заполняется в форме. Но можно из формы этот элемент удалить, а в поле вписать конкретную тему, задаваемую в каждом письме автоматически. Я так сделал для форм обратной связи со страниц об услугах и рекламе. Сообщения оттуда всегда приходят с одной и той же темой «Заказ услуг» или «Заказ рекламы» – просто и понятно.

Поле дополнительных заголовков содержит тег «Reply-To: » для того, чтобы при ответе на письмо, полученное с вашего блога вы отсылали сообщение на на блог, а на тот адрес, который указывал отправитель письма в поле формы . Менять это поле не стоит.

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

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

Если вы вносили в форму какие-то дополнительные поля, не установленные по умолчанию, то в шаблоне письма не забудьте добавить соответствующий тег. Он был вам дан в блоке «Шаблон формы», там, где вы генерировали соответствующий тег (поле «И вставьте следующий код в шаблон письма ниже»).

Любую текстовую информацию этого блока (кроме тегов) можно менять по своему вкусу. Также вы можете добавить любые описания и менять теги местами, расставляя их в том порядке, который вам удобен.

Блок «Письмо 2»

Если вы хотите, чтобы отправленное вам сообщение получал кто-то еще, то можно поставить галочку в этом блоке.

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

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

Блок «Уведомления при отправке формы»

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

Активация формы

После того, как вы заполнили все поля, вернитесь в начало к блоку «Название формы» и нажмите кнопку «сохранить», расположенную справа.

Плагин поместит созданную вами форму в список действующих и присвоит ей специальный код примерно такого вида:

[ contact - form - 7 id = "5464" title = "Проверка" ]

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

Борьба со спамом – Akismet и Captcha

Спамеры доставляют немало хлопот владельцам сайтов, а каждая новая форма, позволяющая что-то писать, только добавляет количество спам ботов.

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

Избавиться от спамеров можно двумя способами:

  1. Поставить обязательную капчу (это можно сделать дополнительным плагином – Really Simple CAPTCHA).
  2. Воспользоваться антиспамерским плагином для wordpress – Akismet.

Первый вариант неудобен тем, что заставляет посетителей вручную вводить дополнительные символы. Это не так сложно, но некоторым не нравится.

Использование плагина Akismet удобнее тем, что он самостоятельно анализирует вводимые данные (имена, email адреса, ссылки) и на основании наработанной базы делает выводы о спамности или неспамности сообщения.

Кроме того, akismet стоит на большинстве wordpress сайтов для защиты от спама в комментариях к статьям. Значит, при его использовании не потребуется устанавливать дополнительные плагины и создавать лишнюю нагрузку на сайт.

Защита от спама с помощью Akismet

1. Устанавливаем плагин Akismet на ваш сайт и активируем его – .

2. Добавляем в теги контактной формы дополнительные данные:

  • в поле с именем автора дописываем akismet:author
  • в поле с email отправителя письма akismet:author_email
  • в поле для адреса сайта akismet:author_url

Должно получиться вот так:

После сохранения, контактная форма должна блокировать все сообщения, отправляемые спамерами. Проверить работу фильтра можно с помощью специального тестового имени “viagra-test-123? – при его вводе должно появляться сообщение об ошибке.

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

Защита от спама с помощью Really Simple CAPTCHA

Если вы обнаружите, что Akismet вас не устраивает (пропускает много спама или блокирует нужные сообщения), то вы можете подключить капчу. Для этого установите плагин Really Simple CAPTCHA.

Открываем для редактирования нужную контактную форму

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

Чтобы капча начала работать, необходимо скопировать и вставить оба этих тега в левое окно шаблона формы, после чего сохранить изменения.

Размещение формы обратной связи во всплывающем окне

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

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

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

Делается это с помощью еще одного плагина – Easy FancyBox.

1. Установка плагина

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

В этой вкладке нужно найти перечень типов контента, который должен отображаться во всплывающем окне. По умолчанию стоит только Images, нужно добавить Inline content.

На этом настройка плагина закончена, переходим к настройке кнопки обратной связи.

2. Вставляем код на сайт

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

На вашем сайте, там где вы хотите вывести кнопку для формы связи (в шапке, подвале или сайдбаре) вставьте следующий код:

< a href = "#contact_form_pop" class = "fancybox-inline" > < img title = "контактная форма" alt = " контактная форма " src = "http://ссылка на картинку" > < / a >

< div style = "display:none" class = "fancybox-hidden" >

< div id = "contact_form_pop" >

[ contact - form - 7 id = "id вашей формы" title = "название вашей формы" ]

< / div >

< / div >

В коде вам необходимо указать адрес картинки, которую вы используете в качестве кнопки обратной связи, и отредактировать шорткод самой формы – прописать ваш id и title.

3. Снимаем ограничение на шорткоды в сайдбаре

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

Чтобы эту функцию разрешить, требуется открыть для редактирования файл function.php (прямо из админки wordpress) и вставить перед закрывающей скобкой «?>» следующий код:

add_filter("widget_text", "do_shortcode");

add_filter ("widget_text" , "do_shortcode" ) ;

Он даст возможность выполнять все шорткоды в сайдбаре.

У меня получилась вот такая симпатичная всплывающая форма:

Несколько разных всплывающих форм на одной странице

Иногда возникает необходимость разместить на сайте несколько форм с разными настройками и полями.

Например, одна кнопка у вас ведет на форму с именем и телефоном и служит для заказа обратного звонка с сайта, а вторая должна открывать другую форм где идет подробная заявка на заказ (с адресом, полем для описания, возможностью прикрепить файл и т.д.). В самом плагине Contact Form 7 вы можете сделать бесконечное количество вариантов форм, но как их впихнуть в разные кнопки одной страницы?

Для этого необходимо корректировать код кнопки из предыдущего пункта. Первая кнопка использует представленный выше вариант. Во второй меняются два значения:

  1. Меняется ссылка, параметру href присваиваете значение #contact_form_pop_2
  2. Изменяете идентификатор id на то же значение #contact_form_pop_2

Создаете ли вы простенький блог, большой корпоративный сайт или проект с вашим портфолио на основе WordPress, страница обратной связи почти всегда - необходимый элемент. И всегда лучше использовать для обратной связи публичную форму контактов вместо того, чтобы публично делиться вашим адресом электронной почты (уж очень такие адреса любят спам-боты).

Конечно, существует множество отличных на основе плагинов для WordPress. Но зачем "грузить" свой сайт громоздкими плагинами и дополнительными запросами к БД, если можно на основе небольшого кода написать собственную простую форму обратной связи?

| Скачать исходники |

Преимущества создания собственной контактной формы

Плагины - это круто, но многие из них отличаются избыточной функциональностью, которая вам не нужна, но они будут перегружать вашу БД и сайт. Происходить это будет из-за исполнения дополнительного PHP-кода , добавления таблиц стилей CSS и файлов JS в заглавной части страницы... и в какой-то момент вы просто захотите держаться подальше от всевозможных плагинов, какими бы классными они ни были.

Если у вас нет навыков кодера, то вынужден признать: у вас немного связаны руки, и придется использовать один из существующих плагинов. Но если вы знакомы с на любом уровне (будем исходить из предположения, что у вас такие навыки есть, раз вы все еще читаете эту статью), то вам стоит рассмотреть разработку собственной формы для сайта. Вот какие преимущества несет такое решение:

  • Оптимизация - использование избыточного кода, особенного того, который вам не нужен, ведет к достижению граничных допустимых лимитов вашего хостера. И даже если у вас есть большой запас ресурсов на сервере, оптимизация всегда пойдет на пользу вашему сайту.
  • Чистота кода - помимо оптимизации работы самого сервера, "чистый" код станет основным фактором в быстроте загрузки страниц сайта. Написание собственного кода дает вам преимущество: вы используете только то, что нужно именно вам, и нет нужды загружать множество "мусора", который отвечает за довольно простую функциональность на вашем сайте. Также это положительно сказывается на SEO .
  • Удовлетворение от полного контроля - никогда не стоит недооценивать возможности полного контроля. Полноценный контроль над сайтом подтолкнет вас стать более увлеченным разработчиком / дизайнером, чем тогда, когда вы просто используете набор готового кода. И даже если вам предоставляется код в готовом виде, всегда лучше "перебрать" его вручную, чем просто "скопипастить". Набор кода вручную дает вам понимание того, как работает плагин.

Перейдем к коду

Ну вот, довольно болтовни: давайте займемся написанием кода! Нам не придется разбираться с большим объемом кода и затрачивать уйму усилий, так что даже если вы - новичок в PHP и / или WordPress, приведенный далее код вы поймете без проблем, следуя моим инструкциям относительно тех частей кода, который вы сами не можете "распознать".

Код, о котором пойдет речь, можно как напрямую вставить в файл functions.php вашей темы, так и применить в качестве плагина. Советую вам оформить код как отдельный плагин. Когда вы будете переключаться между темами, вам не надо будет заново добавлять ту же самую функциональность. Начнем со стандартной информации о плагине :

contact form for simple needs. Usage: Version: 1.0 Author: Barış Ünver Author URI: http://beyn.org/ */ // This line of comment holds the place of the amazingly simple code we"re going to write. So you don"t really need to read this. ?>

Небольшая вспомогательная функция: get_the_ip()

Как вы можете догадаться из названия функции, мы с ее помощью получаем реальный IP-адрес пользователя, даже если пользователь этот "пришел" к нам через прокси-сервер. Решение, конечно, не 100% для защиты и получения сведений о пользователе, но тем не менее, кое-какое представление дополнительное о пользователе мы получим.

В основном мы будем использовать и другие переменные для $_SERVER: HTTP_X_FORWARDED_FOR , HTTP_CLIENT_IP и REMOTE_ADDR . А вот и сам код:

Function wptuts_get_the_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 wptuts_contact_form_sc($atts) { // This line of comment, too, holds the place of the brilliant yet simple shortcode that creates our contact form. And yet you"re still wasting your time to read this comment. Bravo. } add_shortcode("contact", "wptuts_contact_form_sc");

Атрибуты нашего шорт-кода

Нам надо установить несколько атрибутов, чтобы шорт-код был гибким и при этом сохранил свою легкость в работе. Вот они, эти атрибуты:

extract(shortcode_atts(array(// if you don"t provide an e-mail address, the shortcode will pick the e-mail address of the admin: "email" => get_bloginfo("admin_email"), "subject" => "", "label_name" => "Your Name", "label_email" => "Your E-mail Address", "label_subject" => "Subject", "label_message" => "Your Message", "label_submit" => "Submit", // the error message when at least one of the required fields are empty: "error_empty" => "Please fill in all the required fields.", // the error message when the e-mail address is not valid: "error_noemail" => "Please enter a valid e-mail address.", // and the success message when the e-mail is sent: "success" => "Thanks for your e-mail! We"ll get back to you as soon as we can."), $atts));

Помните, что мы будем ссылаться на эти атрибуты в нашем коде как на переменные с именем атрибута (например: $label_submit ).

Отправка электронной почты

Это - самая важная часть функции, которая отвечает за отправку электронной почты:

// if the

element is POSTed, run the following code if ($_SERVER["REQUEST_METHOD"] == "POST") { $error = false; // set the "required fields" to check $required_fields = array("your_name", "email", "message", "subject"); // this part fetches everything that has been POSTed, sanitizes them and lets us use them as $form_data["subject"] foreach ($_POST as $field => $value) { if (get_magic_quotes_gpc()) { $value = stripslashes($value); } $form_data[$field] = strip_tags($value); } // if the required fields are empty, switch $error to TRUE and set the result text to the shortcode attribute named "error_empty" foreach ($required_fields as $required_field) { $value = trim($form_data[$required_field]); if (empty($value)) { $error = true; $result = $error_empty; } } // and if the e-mail is not valid, switch $error to TRUE and set the result text to the shortcode attribute named "error_noemail" if (! is_email($form_data["email"])) { $error = true; $result = $error_noemail; } if ($error == false) { $email_subject = "[" . get_bloginfo("name") . "] " . $form_data["subject"]; $email_message = $form_data["message"] . "nnIP: " . wptuts_get_the_ip(); $headers = "From: " . $form_data["name"] . " <" . $form_data["email"] . ">n"; $headers .= "Content-Type: text/plain; charset=UTF-8n"; $headers .= "Content-Transfer-Encoding: 8bitn"; wp_mail($email, $email_subject, $email_message, $headers); $result = $success; $sent = true; } // but if $error is still FALSE, put together the POSTed variables and send the e-mail! if ($error == false) { // get the website"s name and puts it in front of the subject $email_subject = "[" . get_bloginfo("name") . "] " . $form_data["subject"]; // get the message from the form and add the IP address of the user below it $email_message = $form_data["message"] . "nnIP: " . wptuts_get_the_ip(); // set the e-mail headers with the user"s name, e-mail address and character encoding $headers = "From: " . $form_data["your_name"] . " <" . $form_data["email"] . ">n"; $headers .= "Content-Type: text/plain; charset=UTF-8n"; $headers .= "Content-Transfer-Encoding: 8bitn"; // send the e-mail with the shortcode attribute named "email" and the POSTed data wp_mail($email, $email_subject, $email_message, $headers); // and set the result text to the shortcode attribute named "success" $result = $success; // ...and switch the $sent variable to TRUE $sent = true; } }

Контактная форма

Эта часть работы не менее важна, чем предыдущая. В конце концов, как предыдущий код должен отправить вам электронное письмо, если не будет самой формы для его отправки? :)

// if there"s no $result text (meaning there"s no error or success, meaning the user just opened the page and did nothing) there"s no need to show the $info variable if ($result != "") { $info = "

" . $result . "
"; } // anyways, let"s build the form! (remember that we"re using shortcode attributes as variables with their names) $email_form = "
";

Подсказка : Если вы внимательно присмотритесь к HTML-коду в форме, то возможно заметите переменную $subject . Помните атрибут шорт-кода ‘subject ’ с пустым значением по умолчанию? Это значит, что вы можете использовать шорт-код, подставив в атрибут нужное вам значение, например:

Добавление return в шорт-код

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

If ($sent == true) { return $info; } else { return $info . $email_form; }

После отправки письма форма не отображается еще раз, но если вы все же хотите, чтобы форма отображалась, то можете использовать небольшую строчку кода:

Return $info . $email_form;

Код CSS

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

Contact-form label, .contact-form input, .contact-form textarea { display: block; margin: 10px 0; } .contact-form label { font-size: larger; } .contact-form input { padding: 5px; } #cf_message { width: 90%; padding: 10px; } #cf_send { padding: 5px 10px; }

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

Поздравляем: вы только что сделали свою собственную форму контактов!

Заключение

Эта простая форма обратной связи подойдет для большинства веб-сайтов, но если вы хотите добавить в нее дополнительные поля, то просто отредактируйте ее и добавьте переменные $form_data["name_of_the_new_field"] внутри переменной $email_message (и возможно, еще надо будет добавить имя поля в массиве $required_fields ).

Если у вас есть мысли насчет того, как улучшить приведенный в этом посте шорт-код, или вы хотите показать, что у вас получилось на основе данной формы, поделитесь с нами своими мыслями и ссылками в комментариях.



Понравилась статья? Поделиться с друзьями: