Как можно в ВордПресс сделать обратную связь с возможностью подгрузки доп. полей?
Подскажите, как можно реализовать такое: https://nizhny-tagil-atmosfera.another-world.com/ac Перепробовал различные плагины, но результаты никакие. Требуется именно возможность подгрузки новых полей (карточек игроков) при нажатии кнопки "ДОБАВИТЬ ЕЩЕ УЧАСТНИКА". Помогите люди добрые
Дополнительно:
Причём тут какая-то "вариативная"? И пиши словами что конкретно тебе нужно.
Требуется именно возможность подгрузки новых полей (карточек игроков) при нажатии кнопки "ДОБАВИТЬ ЕЩЕ УЧАСТНИКА".
К CF7 есть разные дополнения. Например https://wordpress.org/plugins/cf7-repeatable-fields/
- Спасибо, попробую
- ОГРОМНОЕ СПАСИБО, СРАБОТАЛО!
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Вам нужна повторяемая группа полей на фронте: пользователь нажимает «Добавить ещё участника», и появляется ещё один набор полей. В Contact Form 7 это можно сделать, но не очень удобно, потому что CF7 из коробки не умеет repeater-группы. Проще использовать плагин форм с repeater-полями или написать небольшой JS.
Если оставаться на CF7, схема такая: в форме заранее создаёте контейнер для участников и кнопку, а JS клонирует шаблон полей. Важно, чтобы имена полей были массивами:
<div id="players"> <div class="player-row"> [text players_name[] placeholder "Имя игрока"] [text players_age[] placeholder "Возраст"] </div> </div> <button type="button" id="add-player">Добавить ещё участника</button><div id="players"> <div class="player-row"> [text players_name[] placeholder "Имя игрока"] [text players_age[] placeholder "Возраст"] </div> </div> <button type="button" id="add-player">Добавить ещё участника</button>
Но CF7 может не всегда корректно обработать массивы в письме без дополнительной настройки. Поэтому часто делают отдельный hidden field и перед отправкой собирают данные JS-ом в одну строку/JSON.
Более удобные плагины для такой задачи:
Если данные участников должны просто прийти на почту, form plugin с repeater — лучший вариант. Если каждый участник должен стать отдельной записью/заявкой в базе, лучше делать кастомный обработчик или использовать плагин, который умеет сохранять repeater-данные.
Не пытайтесь подгружать новый shortcode CF7 при каждом клике. Нужно не новую форму грузить, а добавлять ещё один набор input внутри той же формы. Тогда отправка будет одна, валидация понятная, и пользователь не потеряет введённые данные.