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

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». Запоминает всё!

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

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