WordPress-重力形式-动态创建字段

问题描述 投票:0回答:1

[尝试从第三方API获取json时,为表单动态创建新字段。基于此json,我需要在表单中添加一些字段-不是固定数字。因此,我正在执行此操作,将其挂接到gform_pre_render

$props = array(
    'id'        => $my,
    'type'      => 'singleproduct',
    'label'     => 'Test product',
    'basePrice' => floatval( 120 ),
);

$nf = GF_Fields::create( $props );

// insert into array in specific position
array_splice( $form['fields'], 11, 0, array($nf) );

这有效,即,它在前端正确显示了字段。现在,问题在于,提交表单后,除了这些动态添加的字段外,所有其他字段都在提交中。但是这些不是。我认为必须这样做,因为这些字段未在表单中注册,因此我也尝试了GFAPI::update_form( $form );,但这对提交部分没有帮助,尽管它也会在后端添加新字段来填充我的表单。

有什么想法吗?

wordpress gravity-forms-plugin gravityforms
1个回答
0
投票

根据您的用例Milos,我建议使用gform_form_post_get_meta过滤器:

https://docs.gravityforms.com/gform_form_post_get_meta/

这将在每次从数据库中获取表单时触发,并且会出现确保字段可靠的最可靠方法。

如果您更愿意接受外科手术,并坚持使用gform_pre_render方法,则希望将相同的功能应用于其他几个过滤器:

gform_pre_processgform_admin_pre_render

© www.soinside.com 2019 - 2024. All rights reserved.