我希望在发送表单后更改多个字段。我在他们的支持页面上找到了这个功能:
<?php
add_filter("gform_save_field_value", "save_field_value", 10, 4);
function save_field_value($value, $lead, $field, $form){
if(absint($form["id"]) <> 94)
return $value;
$encode_fields = array(1,2,3);
if(in_array($field["id"],$encode_fields))
return base64_encode($value);
else
return $value;
}
?>
现在假设我希望字段ID 1,2和3分别更改为值$ value1,$ value2,$ value3。我该怎么做呢?我尝试了以下但是没有用:
<?php
add_filter("gform_save_field_value", "save_field_value", 10, 4);
function save_field_value($value, $lead, $field, $form){
if(absint($form["id"]) <> 94)
return $value;
$encode_fields = array(1,2,3);
if(in_array($field["id"],$encode_fields))
return array($value1, $value2, $value3);
else
return $value;
}
?>
希望有人可以提供帮助,谢谢:)
答案 0 :(得分:0)
这样的事情应该这样做:
<?php
add_filter("gform_save_field_value", "save_field_value", 10, 4);
function save_field_value($value, $lead, $field, $form){
if( absint( $form['id'] ) != 94 ) {
return $value;
}
switch( $field['id'] ) {
// if field ID is "1", return $value1
case '1':
return $value1;
break;
// if field ID is "2", return $value2
case '2':
return $value2;
break;
// if field ID is "3", return $value3
case '2':
return $value3;
break;
}
return $value;
}
这假设您实际上是为三个$ value变量设置值或返回静态值来代替这些变量。