Gravityforms показывает имя поля вместо значения

Я работаю над проектом с использованием гравитационных форм. Я создал раскрывающееся поле (поле id1) с метками «option1, option2 и т. д.» и дал им значения (option1 = значение 100, option2 = значение 200)

Я использую запись в функциях, скажем, я использую следующее:

 $example = $_POST["input_1"]    

в этом случае $example дает мне значение выбора (100 или 200). Иногда мне это нужно, но мне нужно также указать имя поля (вариант 1 или вариант 2).

Итак, я хочу что-то вроде:

 $example 2 = .........     

что заставляет $example2 дать мне имя поля.

это возможно?


person user3033410    schedule 25.11.2013    source источник


Ответы (1)


Я предполагаю, что вы используете какой-то хук, предоставленный Gravity Forms, для запуска вашего кода. Подходящим вариантом будет gform_after_submission, который обеспечивает обратный вызов как с объект формы и входной объект. Объект формы содержит все поля формы отправки со всеми именами полей, объект ввода содержит отправленные значения.

Вы можете перебирать поля формы с помощью простого foreach.

foreach( $form['fields'] as $key => $field ) {
    ...
}

объект поля, который мы получили выше, содержит все настройки полей формы, так что вы можете найти ваше конкретное поле, проверив одно из них, например. id или label. Поскольку это поле является раскрывающимся, оно содержит даже массив choices с меткой, значением и флагом по умолчанию. Вы получаете метку определенного выбора следующим образом:

$label = $field['choices'][0]['text'];

Последнее, что нужно сделать, это прочитать объект ввода, чтобы получить представленный выбранный вариант. Поскольку вы знаете $field['id'], вы просто получаете отправленное значение следующим образом:

$submitted_value = $entry[ $field['id'] ];

С представленным значением поля вы можете проверить, какой из вариантов в массиве полей был выбран, и получить как текст, так и значение этого выбора.

person daniel.auener    schedule 10.12.2013