我有一个多页重力表格,通过单选按钮提出一系列问题。
Which of the following would you choose?
o Choice #1
o Choice #2
+----------+ +----------+
| BACK | | NEXT |
+----------+ +----------+
使用自定义字段(高级自定义字段)配置每个问题和选项集。我能够在gform_pre_render
过滤器内完成所有这些问题和选择,现在我想动态创建所需的重力表格字段。
具体来说,每个问题都会有一个页面字段和单选按钮字段。
我真的尝试了几乎所有我能想到的搜索条件,并通过重力帮助文档进行了搜索,但我还没有看到动态添加字段的示例。
有人可以为我照亮光吗? :P
答案 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
过滤器添加动态字段。