Советы, хаки, секреты. Советы, хаки, секреты Как настроить дизайн формы contact form 7

Хотите отображать поля формы обратной связи сделанной при помощи плагина Contact Form 7 в несколько колонок? Это простое руководство позволит вам сделать это за пару минут.

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

One-half, .one-third, .two-third, .one-fourth { position: relative; margin-right: 4%; float: left; margin-bottom: 10px; } .two-third { margin-right: 2.5%; } .one-half { width: 48%; } .one-third { width: 30.66%; } .two-third { width: 66%; } .one-fourth {width: 22%;} .last { margin-right: 0 !important; clear: right; } @media only screen and (max-width: 1024px) { .one-fourth { width: 100%; margin-right: 0; } } @media only screen and (max-width: 767px) { .one-half, .one-third, .two-third { width: 100%; margin-right: 0; } } .wpcf-wrap { min-height: 90px; } div.wpcf7-response-output { width: 100%; clear: both; margin: 0; } .wpcf-accept { clear: both; } .wpcf7-acceptance > .wpcf7-list-item { margin: 0; } .wpcf-accept > .wpcf7-form-control-wrap { display: inline-block !important; }

Поля Contact Form 7 в 2 колонки

Чтобы сделать поля формы в 2 колонки, необходимо использовать подобную конструкцию, которую нужно вставить в основное поле создания формы Contact Form 7:

Поля имя и email выстроятся в две колонки, а текстовая область для сообщения будет под ними.

Поля Contact Form 7 в 3 колонки с подтверждением

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

соглашаюсь

Поля Contact Form 7 в 3 колонки без подтверждения

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

Поля Contact Form 7 в 4 колонки

Ну и на дорожку, поля и кнопка Contact Form7 в 4 колонки. С подтверждением:

Заполняя форму соглашаюсь на обработку персональных данных

И без подтверждения:

Как убрать автоматическую вставку тега P в Contact form 7

По умолчанию Contact Form 7 вставляет тег

Когда создаёт свою разметку. Это частенько приводит к неприятным сюрпризам и если вы столкнулись с таковым, то нужно сделать следующее.

  1. Найдите в корневой папке вашего сайта файл wp-config.php;
  2. Прокрутите файл до конца и отыщите комментарий /* Это всё, дальше не редактируем. Успехов! */ или /* That"s all, stop editing! Happy blogging. */ ;
  3. Вставьте этот код define("WPCF7_AUTOP", false); НАД надписью из пункта 2;
  4. Сохраните файл.

Вот таким образом мы очень просто можем отображать форму Contact Form 7 в 2, 3 и даже 4 колонки. Разумеется, невозможно разобрать 1000 и 1 ситуацию всего в одной статье. Пишите в комментариях свои ситуации! Будем разбирать и дополнять статью вместе. Только указывайте какой вариант кода используете.

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

Все дружно (это относится к поисковикам) порекомендовали — мудрые люди сказали — правь css и не морочь никому голову, «Блокнот» в руки и вперед. Забегая вперед — мудрые люди были правы.

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

После установки создает в корне меню админки раздел «Contact style». В этом разделе есть два пункта содержащие шаблоны на день Валентина и Рождество и «Custom Style» где можно полностью настроить вывод формы. Собственно раздел «Custom Style» и интересует больше всего, подробнее о доступных настройках:

«GENERALS SETTINGS» — можно определить цвет фона, ширину формы (задается в px, % не пробовал), толщина бордюра, форма (пунктир, сплошная и т.д.), цвет, скругление.

«INPUTS AND LABELS SETTINGS» — фон полей ввода, цвет шрифта ввода, фонт (список не велик и с кириллицей там едва ли что-то будет) и его размер. Цвет границ полей, стиль (пунктир сплошная и т.д.), толщина, скругление. Фонт ввода и его размер. Параметры полей в px — высота/ширина, отступы. Фонт метки, стиль, размер, цвет.

«SUBMIT BUTTON SETTINGS» — настройки кнопки отправки формы. Доступные настройки — размер кнопки, скругление, цвет, тип и цвет границы.

Проблемы в использовании.

Ознакомившись с настройками можно прийти к выводу, что все очень хорошо — практика показала обратное. Настроек действительно много, но их не хватает — нет настроек отступа внутри формы, поэтому все блоки собираются на левой границе вплотную к краю форму. Странные настройки «по умолчанию» — где поле ввода размером 100*100 px. Если выставить правильно размеры полей, то выпадающего списка это не коснется и он потащит стиль основной темы. Сбросить на исходные настройки не получилось до удаления плагина…

Пока кроме как вручную поменять стили более менее пристойно не получилось… Чуда не произошло.

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

Контактная форма - неотъемлемый атрибут большинства сайтов. Именно поэтому в каталоге WordPress так много плагинов для контактных форм. Один из самых популярных - это Contact Form 7. Плагин позволяет создавать формы любых видов; очень гибок и удобен в настройке; развивается уже много лет и содержит много наработок.

Создание и показ контактных форм

Создание форм в админке

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

Форма на картинке создана при активации плагина автоматически.

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

Лицевая часть сайта

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

На картинке вид формы после отправленного письма (об этом говорит извещение внизу формы).

Настройка формы (создание сложных форм)

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

В верхнем поле - название формы (его видно только в админке), указываем понятное для себя название, например: "Отзыв о сайте", "Форма заявки на работу", "Форма обратной связи" и т.п.

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

И ниже - четыре вкладки:

  1. Шаблон формы
  2. Письмо
  3. Дополнительные настройки

Рассмотрим каждую вкладку отдельно.

Шаблон формы

В этой вкладке можно настроить поля и внешний вид формы. Рабочей областью является HTML редактор WP. Только вместо привычных кнопок мы видим кнопки вставки разных полей формы.

Вёрстка формы

Для верстки можно использовать html-теги и шорткоды плагина. Шорткоды добавляют поля формы, а html теги позволяют создать произвольную HTML структуру. К примеру, наша дефолтная форма выглядит так:

А при отображении в записи она превратится в такой HTML:

Синтаксис шорткодов

Давайте кликнем по кнопке «Текст». Открывается окно, где мы можем указать атрибуты текстовому полю. Указываем и жмем "Вставить тег".

Тег в последствии будет преобразован в текстовое поле с html кодом:

Шорткоды можно удобно создавать через конструктор шорткодов.

Но конструктор не дает возможность изменить шорткод (там можно только создать шорткод). Изменить шорткод можно двумя способами:

  1. удалить и создать с помощью конструктора новый.
  2. изучить синтаксис и исправить шорткод поля вручную.

С конструктором вы и сами разберетесь.

А тут мы разберем синтаксис шорткода.


Для примера рассмотрим тег текстового поля с дополнительными опциями:

Text(обязательный) Тип поля: text, select, password, number и т.д. (в данном случае поле текстовое). Определяет, в какой элемент формы будет преобразован наш тег, а значит какой вид данных он будет принимать. * Звёздочка делает поле обязательным для заполнения (форма не будет отправлена и отобразиться уведомление о том, что поле надо заполнить). client-name(обязательный) Имя поля, используется как атрибут name в input, а так же используется при формировании шаблона отправляемого письма. id:my-id Атрибут id в input со значением my-id. Используется для оформления. class:my-class Атрибут class в input со значением my-class. Используется для оформления. placeholder "Введите имя" Использовать текст "Введите имя" как placeholder.

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

Типы полей

  • Текстовые поля: text , email , tel , url , textarea
  • Числовые поля: number , range
  • Поля с датой: date
  • Чекбоксы, радио, списки: checkbox , radio , select
  • Поле с загрузкой файла: file
  • CAPTCHA: captchac и captchar
  • Опросы: quiz
  • Поле "Принять": acceptance
  • Кнопка "Отправить": submit
  • Произвольный тип поля

Шаблон письма

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

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

Заголовки письма:

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

    От кого - имя и электронный ящик, от кого пришло письмо. Обычно тут указывается почта сервера (например [email protected]).

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

    Тема - Заголовок письма. По нему будет понятно с какой формы были отправлены данные. К примеру, тема письма "Ошибка на сайте", "Заказ обратного звонка" и так далее. Выбираете такой заголовок, чтобы проще было работать с полученными письмами.

  • Дополнительные заголовки - По умолчанию тут прописано Reply-To: . Заголовок Reply-To говорит нам, что на этот электронный ящик можно ответить нажав кнопку "Ответить" в почтовой программе, а тег формы - это имя поля из шаблона. Указанный пользователем email будет вставлен вместо этого тега. Получится что-то типа Reply-To: [email protected] .
Тело письма

Это следующая важная часть данной вкладки. Тут указывается сам текст письма. В тексте используем всё те же теги формы (имена полей из шаблона формы).

Разберем дефолтное письмо:

От: <> Тема: Сообщение: -- Отправлено с сайта Изучаем плагин Contact Form 7 (http://test-wp.ru)

У нас было 4 поля, которые заполнял пользователь. После отправки письма теги превратятся в значения и мы получим такое письмо:

От: Дмитрий Тема: Вопрос про Contact Form 7 Сообщение: Привет! У меня возник вопрос по плагину Contact Form 7. Как его настроить? -- Отправлено с сайта Изучаем плагин Contact Form 7 (http://test-wp.ru)

Не обязательные поля в теле письма

Если юзер не заполнит поле, а оно используется в теле письма, то тело письма будет неполным. К примеру в теле написано Человек с города , но юзер не заполнил поле , а значит в письме мы получим Человек с города... Такая строка в письме лишняя. Чтобы убрать эту строку из письма, поставьте галочку на пункте "Исключить вывод строк с пустыми тегами сообщения". Обратите внимание, что это сработает только тогда, когда текст и шоткод поля находятся в одной и той же строке.

Опция "Использовать HTML-формат письма". Позволяет использовать в теле письма HTML теги. При этом можно использовать ограниченный список HTML тегов, потому что не все почтовые клиенты или сервисы умеют правильно обрабатывать сложную HTML разметку. Можно использовать: таблицы, маркированные списки, жирность, абзацы и так далее. Подробнее ищите в сети.

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

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

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

Теги шаблона письма не работают в этих полях.

Дополнительные настройки

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

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

В своих wordpress проектах я очень часто использую плагин contact form 7 . Он очень удобный, гибкий и обладает множеством плюсов, однако как и в большинстве бесплатных плагинов в нем есть свои «болезни». И одна из них — малое количество хуков и, как следствие трудная настройка contact form 7 полей, элементов ит.п. Поэтому далее я распишу как можно изменить внешний вид сообщений в contact form 7 при отправке формы …

Отключаем стандартные contact form 7 стили

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

Для этого, в файле functions.php добавляем следующий код:

Удаляем все стили

add_filter("wpcf7_load_css", "__return_false");

add_filter ("wpcf7_load_css" , "__return_false" ) ;

Теперь, когда старые стили удалены, можно сверстать/взять новые css стили сообщений (например ) и прикрутить их к contact form 7. Для примера, я уже имею свои готовые стили alert-ов и буду использовать их:


Отключение скриптов

Возвращаемся в functions.php файл и добавляем следующий код:

Регистрируем новый скрипт cf7

if (! function_exists("wpcf7_do_enqueue_scripts")) { function wpcf7_do_enqueue_scripts() { if (wpcf7_load_js()) { $in_footer = true; if ("header" === wpcf7_load_js()) { $in_footer = false; } wp_enqueue_script("contact-form-7", get_theme_file_uri("NEW_PATH"), array("jquery"), WPCF7_VERSION, $in_footer); } } add_action("wp_enqueue_scripts", "wpcf7_do_enqueue_scripts", 9); }

if (! function_exists ("wpcf7_do_enqueue_scripts" ) ) {

function wpcf7_do_enqueue_scripts () {

if (wpcf7_load_js () ) {

$in_footer = true ;

if ("header" === wpcf7_load_js () ) {

$in_footer = false ;

wp_enqueue_script ("contact-form-7" , get_theme_file_uri ("NEW_PATH" ) , array ("jquery" ) , WPCF7_VERSION , $in_footer ) ;

add_action ("wp_enqueue_scripts" , "wpcf7_do_enqueue_scripts" , 9 ) ;

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

NEW_PATH — путь до нового js файла в теме, который нужно скопировать из wp-content/plugins/contact-form-7/includes/js/scripts.js

Зачем подключать новый скрипт?

Все просто. При отправке формы, сообщения/их статус «подтягиваются» через AJAX, т.е грубо говоря contact form после submit возвращает какой-то кусок html кода, который каждый раз перезаписывается, и естественно отслеживать постоянно на триггерах, когда обновится форма — неправильно. Можно конечно динамически отслеживать DOM через MutationObserver , но и он имеет свои определенные недостатки. Гораздо проще перезаписать главный скрипт cf7 плагина и уже внутри изменить js код под свои нужды.

Меняем внешний вид

Далее осталось только открыть скопированный js файл и внести нужные изменения. В моем случае, необходимо только добавлять/удалять классы для сообщений в зависимости от статуса — spam / mail_sent / mail_failed и т.д. Для этого в методе var ajaxSuccess = function(data, status, xhr, $form) { в case выборке просто манипулируем нужными классами. В итоге при отправке формы, получаем красивые стилизованные сообщения:



С помощью плагина Сontact form 7 быстро создается форма обратной связи на wordpress сайте. Форма обратная связь очень частое явление, она присутствует на многих коммерческих сайтах. Плагин contact form 7 совершенно бесплатный и на русском языке, что делает работу с ним удобной и быстрой. Он не новый, но пользуется своей популярностью и сейчас.

Обратная связь на WordPress

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

Заплатили за такую форму, вы сейчас упадете, 40 000 рублей. Именно такую сумму озвучили и, что самое интересное, с ними согласились и все оплатили. Речь не идет про супер форму, в которой присутствует много всплывающих окон, варианты выбора из списка и другие навороты. Все простенько и скромненько. Москва есть Москва).

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

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

Contact form 7: Настройка

Не будем усложнять задачу, с помощью плагина contact form 7 можно быстро и без труда добавить на сайт wordpress простую форму обратной связи. Она не будет сильно подгружать сервер, работает без сбоев и проблем. Заходим в Плагины — Добавить новый и пишем в поиске его название. После того, как вы его скачали и установили, слева в админке появится новая строчка contact form 7.

  1. Заходим в админку сайта, Плагины.
  2. Пишем в поиске contact form 7.
  3. Устанавливаем и настраиваем.

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

Я покажу вам вариант самой стандартной формы, которую можно использовать на большинстве сайтов. Если некоторые строчки вам не нужны, их можно убрать.

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

Все поля не обязательные для заполнения. Если нужно сделать некоторые поля обязательным для заполнения contact form 7, просто пишите (обязательно) в необходимый пункт и все будет работать. Пример показан на рисунке ниже.

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

Ваше имя (обязательно)

Ваш e-mail (обязательно)

Опишите Вашу проблему...

Телефон (обязательно)

< p > Вашеимя(обязательно) < br / >

[ text* your - name ] < / p >

< p > Вашe - mail (обязательно) < br / >

[ email* your - email ] < / p >

< p > ОпишитеВашупроблему. . . < br / >

[ textarea your - message ] < / p >

< p > Телефон(обязательно) < br / >

[ tel tel - 378 ]

< p > [ file file - 143 ] < / p >

< p > [ quiz quiz - 740 class : blank _ 3"Сколько будет? 7+5=?|12" ] < / p >

< p > [ submit "Отправить" ] < / p >

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

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

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

wp-content/plugins/contact-form-7/modules

Вот в этой папке есть два файла (textarea.php) и (text.php). В них и находятся стили для формы, которые можно изменять и добавлять новые свои. Например, если нужно изменить длину ячейки, в файле (textarea.php) есть строчка: $atts["cols"] = $tag->get_cols_option ("27");Цифра 27 как раз и отвечает за длину ячейки.

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