You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何填写表单a并自动填充隐藏的表单b(Gravity Form场景)

Gravity Forms 实现表单A提交后自动静默填充提交表单B的方案

核心思路

借助Gravity Forms的PHP钩子与官方API,在表单A提交成功后,后台自动完成表单B的字段映射填充,并静默提交表单B,全程无需前端展示表单B。

具体实现步骤

  1. 确认表单ID
    先获取表单A和表单B的ID:在Gravity Forms后台编辑表单时,浏览器地址栏里的id=参数就是表单ID(比如form_id=1对应ID为1)。

  2. 添加自定义代码
    将以下代码添加到WordPress主题的functions.php文件,或自定义插件中:

    // 表单A提交后触发表单B的静默提交(替换1为表单A的ID,2为表单B的ID)
    add_action('gform_after_submission_1', 'auto_fill_and_submit_form_b', 10, 2);
    function auto_fill_and_submit_form_b($entry, $form) {
        // 步骤1:映射表单A字段到表单B
        $form_b_fields = array(
            'input_1' => rgar($entry, 'input_3'), // 表单B的input_1对应表单A的input_3
            'input_2' => rgar($entry, 'input_5'), // 表单B的input_2对应表单A的input_5
            // 按需添加更多字段映射,包括隐藏字段
            'input_4' => '自动填充的固定值', // 也可直接设置固定值
        );
    
        // 步骤2:获取表单B的配置
        $form_b = GFAPI::get_form(2);
        if (!$form_b) {
            error_log('表单B不存在,ID:2');
            return;
        }
    
        // 步骤3:静默提交表单B
        $submission_result = GFAPI::submit_form($form_b, $form_b_fields);
    
        // 可选:处理提交结果日志
        if (is_wp_error($submission_result)) {
            error_log('表单B提交失败:' . $submission_result->get_error_message());
        } else {
            error_log('表单B已成功提交,条目ID:' . $submission_result['id']);
        }
    }
    

关键细节说明

  • 钩子精准触发:gform_after_submission_1中的后缀_1是表单A的ID,确保仅在表单A提交时执行代码,避免干扰其他表单。
  • 字段安全取值:rgar($entry, 'input_X')是Gravity Forms提供的安全函数,用于从表单A的提交数据$entry中获取指定字段值,避免直接数组取值的报错风险。
  • 官方API提交:GFAPI::submit_form是Gravity Forms官方推荐的后台提交方法,会自动处理表单验证、字段规则与数据存储,无需前端渲染表单。

注意事项

  • 代码维护:建议用自定义插件存放代码,避免主题更新导致代码丢失。
  • 字段ID对应:表单B的字段ID可在表单编辑器的「字段设置」底部查看(显示为输入ID: input_X),需确保映射关系准确。
  • 性能优化:若表单B包含复杂的第三方集成(如支付、邮件群发),可考虑使用wp_schedule_single_event将提交操作转为异步执行,避免阻塞表单A的提交响应。
  • 权限检查:确保当前运行环境具备GFAPI::submit_form的执行权限(通常WordPress管理员权限即可)。

内容的提问来源于stack exchange,提问作者ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 21:11:39