Предисловие
Я установил гравитационные формы, создал форму, и пользователи отправляют данные на мой сайт. Что я хочу сделать, это показать данные, которые пользователи отправляют на мой сайт на одной из моих страниц.
Я знаю, что есть плагин Gravity Forms Directory . Но это дает только фиксированное представление данных.
Вопрос
Есть ли что-нибудь в гравитационных формах, которые могут сделать что-то подобное? (псевдокод) :
<?php gforms_get_field( $form_id, $entry_id, 'user_name_field' ); ?>
plugins
database
plugin-gravity-forms
hitautodestruct
источник
источник
Ответы:
Вы можете посмотреть документы, но, вероятно, в конечном итоге вы прочитаете настоящую документацию: исходный код.
Если вы это сделаете, вы обнаружите, что:
GFFormsModel::get_leads($form_id)
возвращает список записей для формы (может быть, вы уже знаете это), где каждый элемент в массиве сам является массивом, « объектом ввода »GFFormsModel::get_form_meta($form_id)
возвращает список метаэлементов поля (т.е. описывает имя, тип, правила и т. д.) в форме, где каждый элемент в массиве является « объектом поля »Если у вас есть объект Entry, вы можете получить доступ к полям как элементам по номеру поля. Если вам нужно найти поле по имени или типу, вам нужно перебрать список полей в форме, чтобы найти совпадение, а затем получить доступ к полю записи по идентификатору поля.
Примечание: определение типа поля лучше всего сделать, передав метаэлемент поля
GFFormsModel::get_input_type($field)
Редактировать: обратите внимание также, что только первые 200 символов каждого поля возвращаются в объекте Entry. Если у вас есть поля, в которых хранится дополнительная информация, вам необходимо запросить ее, например, позвонив по телефону
GFFormsModel::get_field_value_long($lead, $field_number, $form)
.источник
Спасибо webaware за ответ.
Вот некоторые копии / макароны для тех, кто ищет быстрый старт. Это берет идентификатор записи и извлекает лидерство и форму из этого. В этом случае я использую URL для передачи значения. например, somedomain.com?entry=123.
источник
Advanced fields
тогоaddress
илиfirst name/last name
.
Вы можете использовать
gform_after_submission
ловушку для записи всего, что вам нужно, в пользовательский тип записи, который может быть легче манипулировать «вне поля», и будет безопасен, скажем, от того, что кто-то удалит одно поле и уничтожит все данные, связанные с ним ,http://www.gravityhelp.com/documentation/page/Gform_after_submission
У Yoast довольно хорошая запись при записи в пользовательские поля, даже без использования ловушки. http://yoast.com/gravity-forms-custom-post-types/
Удачи!
источник