Gravity Forms如何按分类答案选中数量实现条件跳转逻辑
解决方案
前置配置(先在表单后台完成)
- 编辑你5道题的每个选项,给选项设置自定义值:对应Advantage分类的选项值统一设为
advantage,对应Supplement分类的选项值统一设为supplement - 记录下你的Gravity Forms表单ID(后台表单列表里即可查看),以及两个分类对应的落地页完整URL
代码实现方案
直接用Gravity Forms官方提供的gform_confirmation原生钩子实现,不需要额外安装插件,把以下代码添加到你WordPress站点当前使用主题的functions.php文件末尾,或者用Code Snippets这类代码片段插件添加即可:
add_filter( 'gform_confirmation_替换成你的表单ID', 'custom_medicare_form_confirmation', 10, 4 ); function custom_medicare_form_confirmation( $confirmation, $form, $entry, $ajax ) { $advantage_count = 0; $supplement_count = 0; // 遍历所有表单提交的字段值统计分类票数 foreach ( $form['fields'] as $field ) { $field_value = rgar( $entry, $field->id ); if ( $field_value == 'advantage' ) { $advantage_count++; } elseif ( $field_value == 'supplement' ) { $supplement_count++; } } // 根据计数跳转对应页面 if ( $advantage_count >= 3 ) { $confirmation = array( 'redirect' => '替换成Advantage对应的落地页URL' ); } elseif ( $supplement_count >=3 ) { $confirmation = array( 'redirect' => '替换成Supplement对应的落地页URL' ); } // 平票等异常情况默认返回原确认页,也可自行补充额外跳转逻辑 return $confirmation; }
注意事项
- 代码里的
替换成你的表单ID要改成你实际的表单数字ID - 两个落地页URL替换为你自己的对应页面地址即可
- 如果后续调整题目数量,只要保持选项的自定义值和分类的对应关系不变,代码不需要修改
- 配置完成后建议提交测试数据验证跳转逻辑是否符合预期
内容的提问来源于stack exchange,提问作者nilssonc
相关产品推荐
相关产品推荐

