Wordpress 重力表单通过标签名称获取字段 ID

Wordpress Gravity forms get field id by label name

我正在尝试根据字段标签名称获取字段 ID,而不是对值进行硬编码。

我可以根据表单名称检索表单 ID

RGFormsModel::get_form_id($post_title);

然后使用检索所有字段以及更多基于 ID 的字段。

RGFormsModel::get_form_meta($id);

但是,解析返回值非常笨拙。

通读 api,根据标签名称检索字段 ID 似乎不是一种直接的方法。

API 中是否有我遗漏的内容或解决方案?

不,你没有遗漏任何东西。如果您想通过标签获取字段对象,则必须遍历表单对象字段 属性 并将所需标签与每个字段的标签进行比较,直到找到它。

function gw_get_field_by_label( $label ) {
    foreach( $form['fields'] as $field ) {
        if( $field->label == 'My Field Label' ) {
            return $field;
        }
    }
    return false;
}

你可以这样使用它:

$field = gw_get_field_by_label( 'My Field Label' );