Перейти к содержимому

Contact Form 7. Условные поля

Contact Form

Начну сначала. В стандартном Contact Form 7 нет никаких условных полей. Можно, конечно, залезть в код и сделать. Но в этой статье буду рассматривать уже готовые решения. Поэтому просто необходим бесплатный плагин «Contact Form 7 Conditional Fields».
После установки этого плагина в настройках CF7 появится дополнительная закладка «Conditional Field». В ней надо прописать тщательно и внимательно логические условия появления полей формы в форме. В самой форме логические поля обрамляются тэгами [group имяполя]….тэги и текст поля….[/group]. Они будут появлятся в форме обратной связи только при соответствии логических условий, заданных в «Conditional Field». Пример ниже. Без кнопки «Submit».


    Щены говорят "ГАВ"

    Только кошки говорят "МЯУ", правильно

    Крокодилы только булькают

    Инопланетяне просто немые


    Код для этой формы (CF7 Шаблон формы):

    
    [radio radio-479 label_first use_label_element default:1 "Щенок" "Котёнок" "Крокодил" "Инопланетянин"]
    [group groupSCHEN]Щены говорят "ГАВ"[/group]
    [group groupKOT]Только кошки говорят "МЯУ", правильно[/group]
    [group groupCRO]Крокодилы только булькают[/group]
    [group groupINO]Инопланетяне просто немые[/group]

    Код для «Conditional Field» (Что бы вставить этот код, переведите движок на вкладке «Conditonal Field»  в «TextMode», или набивайте вручную в визуальном режиме) :

    show [groupSCHEN] if [radio-479] equals "Щенок"
    show [groupKOT]  if  [radio-479] equals "Котёнок"
    show [groupCRO] if [radio-479] equals "Крокодил"
    show [groupINO] if [radio-479] equals "Инопланетянин"

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

    Это всё достаточно просто. Но остаётся проблема: сделать условия после нажатия в форме кнопки «Submit» («Отправить», «Подписаться», или как вы её назовёте).

    Есть отличный плагин «Redirection for Contact Form 7». Вызывает переход на любой, предварительно заданный адрес, после нажатия в форме кнопки «Submit». Но, к сожалению, в бесплатной версии, переход возможен только на один адрес. Хотя в платной есть логические условия. Поэтому, пока его не расматриваю.

    Есть ещё один плагин «Popup Maker». Вызывает всплывающее окно после нажатия кнопки «Submit». Само окно настраивается полноценным редактором, можно добавлять в него текст, картинки, ссылки. Некоторое время назад он у меня прекрасно работал, даже удавалось создавать разные всплывающие окна в зависимости от условий. Но после очередного обновления плагина что-то пошло не так, перестал работать. Его, пока не разберусь, тоже не расматриваю.


    Что же делать? Есть альтернативный вариант. После нажатия на кнопку «Submit» пользователю на указанный адрес приходит письмо. А вот в теле письма с помощью «Conditional Field» можно творить практически всё. Синтаксис немного другой, но зато можно вставить условные поля как в тело письма, так даже и в тему письма.
    Надо заметить, при настройке письма, CF7 позволяет создать два варианта письма, каждое из которых можно отправить по нескольким адресам, указанным в поле «Кому» через запятую как шорткоды, так и непосредственно. Есть нюанс, зависит от хостинга. У меня на одном хостинге все проходило, на другом письма отправлялись только на адрес админа сайта. В последнем случае понадобилось установить почтовый плагин, я использовал «WP Mail SMTP».

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





      Щены говорят "ГАВ"

      Только кошки говорят "МЯУ", правильно

      Крокодилы только булькают

      Инопланетяне просто немые

      Код для тела письма, немного отличается от кода формы:

      Тестовое письмо 1Вы выбрали: [groupSCHEN]Щенок[/groupSCHEN][groupKOT]Котёнок[/groupKOT][groupCRO]Крокодил[/groupCRO][groupINO]Инопланетянин[/groupINO]

      Тестовое письмо 2
      Вы выбрали: [groupSCHEN]Щенок[/groupSCHEN][groupKOT]Котёнок[/groupKOT][groupCRO]Крокодил[/groupCRO][groupINO]Инопланетянин[/groupINO]

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

      Тема
      [_site_title] "Просто тестирование письмо2" Ваш выбор: [groupSCHEN]Щенок[/groupSCHEN][groupKOT]Котёнок[/groupKOT][groupCRO]Крокодил[/groupCRO][groupINO]Инопланетянин[/groupINO]


      Извините за дизайн форм, он тоже настраивается. Но задача была показать, что можно делать с CF7. Всё, что описано выше проверено на практике. 

      Вопросы пишите в комментариях или по почте.

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

      Кому нужен серьёзный учет и контроль кто, когда и как заполнял ваши контактые формы, обратите внимание на плагин «Flamingo». Запоминает всё!

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

      2 комментария для “Contact Form 7. Условные поля”

      1. We are Gplocean, a website that provides more than 4000 premium plugins and themes for download completely free. You're bound to find something you love! We expect that you browse our site and examine if there's something you think might be of use for you.

      Добавить комментарий

      Ваш адрес email не будет опубликован. Обязательные поля помечены *