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

Chr*_*ris 2 php wordpress gravity-forms-plugin

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

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

RGFormsModel::get_form_id($post_title);
Run Code Online (Sandbox Code Playgroud)

然后根据 ID 使用检索所有字段以及更多内容。

RGFormsModel::get_form_meta($id);
Run Code Online (Sandbox Code Playgroud)

然而,解析返回值非常笨重。

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

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

Dav*_*Wiz 5

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

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

你可以像这样使用它:

$field = gw_get_field_by_label( 'My Field Label' );
Run Code Online (Sandbox Code Playgroud)