Как мне сгенерировать динамическую форму из настраиваемого типа записи в WordPress?

В настоящее время я делаю проект, используя стек Trellis / WordPress / Sage. Я также использую пару плагинов:Расширенные настраиваемые поля«,»Пользовательский интерфейс типа сообщения«,»Контактная форма 7«и расширение контактной формы 7, называемое контактной формой 7, расширение динамического текста.

Я создал тип записи под названием Позиция, каждая позиция имеет описание — текстовое поле, тип — текстовое поле и поле вопросов — повторитель, каждое подполе в вопросах — это текстовое поле с именем «вопрос».

Пользовательская история в дизайне требует многоэтапной формы. На первой странице пользователь должен отметить несколько флажков, которые относятся к типу поста «Позиция». Затем данные будут перенесены в следующую форму — форму заявки.

У меня возникли проблемы с запросом подполей из позиции сообщений и поставить их значения в флажки, я могу сделать это в простом файле шаблона php, используя get_field() а также get_subfield() но я не уверен, как передать их в другой шаблон, в котором находится форма заявки. Я могу предоставить дополнительные коды, если требуется.

0

Решение

Я сделал что-то подобное и создал плагин это позволяет отображать между формами cf7 и пользовательскими типами записей. Поэтому, когда ваша форма отправлена, она сохраняется в соответствующем сообщении. Плагин имеет несколько встроенных хуков для манипулирования отправленными данными. Более того, после отправки формы вы можете легко предварительно заполнить следующую форму, создав черновик сообщения, которому сопоставлена ​​следующая форма, со значениями из первой отправки и перенаправить страницу на следующую форму. Затем пользователь увидит следующую форму с некоторыми полями, предварительно заполненными значениями, введенными в предыдущей форме.

Если это выглядит многообещающе, дайте мне знать, выбрав это в качестве ответа, и я дам вам несколько советов о том, как действовать дальше.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]