如何在 gform_pre_render() 中添加重力形式字段

rwk*_*iii 3 gravity-forms-plugin

我有一个多页重力表格,它通过单选按钮呈现一系列问题。

Which of the following would you choose?

    o  Choice #1
    o  Choice #2

    +----------+   +----------+  
    |   BACK   |   |   NEXT   |  
    +----------+   +----------+  
Run Code Online (Sandbox Code Playgroud)

每个问题和选择集都使用自定义字段(高级自定义字段)进行配置。我能够从gform_pre_render过滤器中很好地遍历所有这些问题和选择,现在我想即时创建所需的重力形式字段。

具体来说,每个问题都有一个页面字段和单选按钮字段。

我真的尝试了几乎所有我能想到的搜索条件在 Google 上并浏览了 Gravity Help 的文档,但我只是没有看到动态添加字段的示例。

有人可以为我点亮一盏灯吗?:P

Dav*_*Wiz 5

您可以使用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 );
Run Code Online (Sandbox Code Playgroud)

您可能需要指定更多属性才能使该字段正常工作。我建议使用print_r()在现有字段上使用以了解所有可用属性。您还需要确保您的字段 ID 是唯一的。

最后,为了从这些现有字段中捕获数据,您可能还希望通过gform_pre_validation过滤器添加动态字段。

  • 看起来它可能是“GF_Fields”而不是“GFFields”? (2认同)