如何在Gravity Forms重定向中传递下拉选项的值
解决Gravity Forms重定向时传递下拉选项值而非标签的问题
方法一:使用内置合并标签修饰符(推荐)
Gravity Forms自带合并标签修饰符,只需在原字段变量后追加:value,就能指定传递选项的**值(Value)**而非标签(Label)。
修改你的查询字符串为:
choice={Dropdown Field Name:6:value}
修改后生成的重定向URL会自动替换为选项对应的数值,比如:
https://example.com/result_page?choice=1
方法二:通过钩子函数自定义修改(适合复杂场景)
如果内置修饰符无法满足需求,可以通过Gravity Forms的钩子函数手动调整重定向URL。将以下代码添加到主题的functions.php文件或自定义插件中:
add_filter( 'gform_confirmation', 'gf_redirect_use_field_value', 10, 4 ); function gf_redirect_use_field_value( $confirmation, $form, $entry, $ajax ) { // 仅处理重定向类型的确认设置 if ( isset( $confirmation['redirect'] ) && !empty( $confirmation['redirect'] ) ) { // 获取下拉字段(ID为6)的选项值 $field_value = rgar( $entry, '6' ); // 获取原标签对应的URL编码值,用于替换 $field_label = urlencode( rgar( $entry, '6.3' ) ); // 6.3为下拉字段标签的存储键,部分场景可能需调整 // 替换URL中的标签为值 $confirmation['redirect'] = str_replace( "choice={$field_label}", "choice=" . urlencode( $field_value ), $confirmation['redirect'] ); } return $confirmation; }
注意:代码中的字段ID(
6)需替换为你实际的下拉字段ID,若标签存储键不是6.3,可通过查看表单提交后的entry数据确认具体键名。
内容的提问来源于stack exchange,提问作者clayRay
相关产品推荐
相关产品推荐

