Начну сначала. В стандартном 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». Запоминает всё!
Есть конечно другие способы делать подобное. Рассказал об опробованных мной вариантах.