重力形式" save_field_value"

时间:2015-01-10 12:22:18

标签: forms gravity

我希望在发送表单后更改多个字段。我在他们的支持页面上找到了这个功能:

<?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;
}
?>

希望有人可以提供帮助,谢谢:)

1 个答案:

答案 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变量设置值或返回静态值来代替这些变量。