我尝试在重力形式确认后重定向到自定义网址,我在functions.php中设置了这个,但我需要修复代码的错误,我需要这样做,因为我有2个域共享相同的表单。
我所做的是在默认值{referer}的表单中设置一个隐藏字段,并且还允许使用参数&ref;成功动态填充字段':
System.out.print(weather);
单击确认按钮时,表单不会重定向到任何位置。你们知道出了什么问题以及如何解决它吗?
答案 0 :(得分:0)
根据文档,过滤器的第二个参数是$ form对象。所以你需要从$ form对象中获取隐藏的输入值。
在重力场属性中将该隐藏字段的输入名称设为“refUrl”。
add_filter('gform_confirmation', 'conditional_confirmation', 10, 4);
function conditional_confirmation($confirmation, $form, $entry, $ajax) {
$input_name = 'refUrl';
foreach ($form['fields'] as $field) {
if (isset($field['inputName']) && $field['inputName'] === $input_name) {
$fieldName = 'input_' . $field['id'];
$refurl = $_POST[$fieldName];
break;
}
}
if ($refurl == 'http://www.example.com') {
$confirmation = array('redirect' => 'http://www.google.com');
}
return $confirmation;
}