【发布时间】:2019-03-30 14:43:37
【问题描述】:
我正在开发一个基于标签文本从任何表单中查找字段的功能。我想返回该字段的不同属性,以便以后可以使用它们。
本来我只需要字段的值,所以使用这里的工作,根据标签返回字段的值:
function itsg_get_value_by_label( $form, $entry, $label ) {
foreach ( $form['fields'] as $field ) {
$lead_key = $field->label;
if ( strToLower( $lead_key ) == strToLower( $label ) ) {
return $entry[ $field->id ];
}
}
return false;
}
我通过设置一个变量并传入我正在寻找的字段标签来获取我的值:
$mobile_phone = itsg_get_value_by_label( $form, $entry, "Mobile Phone" );
后来,当我继续研究我的解决方案时,我发现我还需要找到这些字段并返回 ID。最初,我编写了相同的函数并只返回了 ID,但我想通过重写函数以返回数组中的多个字段属性来提高解决方案的效率,如下所示:
function get_field_atts_by_label( $form, $entry, $label ) {
foreach ( $form['fields'] as $field ) {
$lead_key = $field->label;
if ( strToLower( $lead_key ) == strToLower( $label ) ) {
$field_atts = array(
'value' => $entry[ $field->id ],
'id' => $field->id,
);
return $field_atts;
}
}
return false;
}
我现在的问题是我不太确定如何从我的函数中检索特定属性并将它们设置为变量。
【问题讨论】:
标签: gravityforms