2016-07-15 38 views
0

我有一個多頁面重力形式,通過單選按鈕呈現一系列問題。如何在gform_pre_render()中添加重力形式字段

Which of the following would you choose? 

    o Choice #1 
    o Choice #2 

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

每個問題,並選擇集使用自定義字段(高級自定義字段)配置。我可以在gform_pre_render過濾器中很好地遍歷所有這些問題和選擇,現在我想立即創建所需的重力表格字段。

具體來說,每個問題都會有一個頁面字段和單選按鈕字段。

我真的已經嘗試了幾乎所有搜索條件,我可以在Google上想到並通過Gravity Help上的文檔搜索,但我沒有看到動態添加字段的示例。

有人能爲我發光嗎? :P

回答

1

您可以使用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篩選器添加動態字段

+0

我得到一個致命的錯誤或:找不到GFFields類。 – rwkiii

+0

看起來可能是'GF_Fields'而不是'GFFields'? – rwkiii

+0

似乎'GF_Fields :: create()'將該字段添加到窗體。如果我做'array_push()'也有2個字段添加到窗體。 – rwkiii