如何在 gform_pre_render() 中添加 Gravity Forms 字段
How to add Gravity Forms fields in gform_pre_render()
我有一个多页重力表,它通过单选按钮显示一系列问题。
Which of the following would you choose?
o Choice #1
o Choice #2
+----------+ +----------+
| BACK | | NEXT |
+----------+ +----------+
每个问题和选择集都使用自定义字段(高级自定义字段)进行配置。我能够从 gform_pre_render
过滤器中循环访问所有这些问题和选择,现在我想即时创建所需的 Gravity Form 字段。
具体来说,每个问题都会有一个页面字段和单选按钮字段。
我确实尝试了 Google 上我能想到的所有搜索条件,并搜索了 Gravity Help 上的文档,但我只是没有看到动态添加字段的示例。
有人可以为我发光吗? :P
您可以使用 GFFields::create()
创建一个字段。这是一个粗略的示例(假设您在 gform_pre_render
过滤器中。
$props = array(
'id' => 123,
'label' => 'My Field Label',
'type' => 'text'
);
$field = GF_Fields::create( $props );
array_push( $form['fields'], $field );
您可能需要指定更多属性才能使字段正常工作。我建议在现有字段上使用 print_r()
以了解所有可用属性。您还需要确保您的字段 ID 是唯一的。
最后,为了从这些现有字段中捕获数据,您可能还希望通过 <a href="https://www.gravityhelp.com/documentation/article/gform_pre_validation/" rel="noreferrer">gform_pre_validation</a>
过滤器添加动态字段。
我有一个多页重力表,它通过单选按钮显示一系列问题。
Which of the following would you choose?
o Choice #1
o Choice #2
+----------+ +----------+
| BACK | | NEXT |
+----------+ +----------+
每个问题和选择集都使用自定义字段(高级自定义字段)进行配置。我能够从 gform_pre_render
过滤器中循环访问所有这些问题和选择,现在我想即时创建所需的 Gravity Form 字段。
具体来说,每个问题都会有一个页面字段和单选按钮字段。
我确实尝试了 Google 上我能想到的所有搜索条件,并搜索了 Gravity Help 上的文档,但我只是没有看到动态添加字段的示例。
有人可以为我发光吗? :P
您可以使用 GFFields::create()
创建一个字段。这是一个粗略的示例(假设您在 gform_pre_render
过滤器中。
$props = array(
'id' => 123,
'label' => 'My Field Label',
'type' => 'text'
);
$field = GF_Fields::create( $props );
array_push( $form['fields'], $field );
您可能需要指定更多属性才能使字段正常工作。我建议在现有字段上使用 print_r()
以了解所有可用属性。您还需要确保您的字段 ID 是唯一的。
最后,为了从这些现有字段中捕获数据,您可能还希望通过 <a href="https://www.gravityhelp.com/documentation/article/gform_pre_validation/" rel="noreferrer">gform_pre_validation</a>
过滤器添加动态字段。