如何在gform_pre_render()中添加Gravity Forms字段

时间:2016-07-15 15:16:34

标签: gravity-forms-plugin

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

Which of the following would you choose?

    o  Choice #1
    o  Choice #2

    +----------+   +----------+  
    |   BACK   |   |   NEXT   |  
    +----------+   +----------+  

使用自定义字段(高级自定义字段)配置每个问题和选项集。我能够在gform_pre_render过滤器内完成所有这些问题和选择,现在我想动态创建所需的重力表格字段。

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

我真的尝试了几乎所有我能想到的搜索条件,并通过重力帮助文档进行了搜索,但我还没有看到动态添加字段的示例。

有人可以为我照亮光吗? :P

1 个答案:

答案 0 :(得分:3)

您可以使用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是唯一的。

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