Nie*_*che 10 php wordpress gravity gravity-forms-plugin
我有一个功能,通过第三方服务处理销售,处理结果并返回状态为"成功"或"无效"的数组.此销售调用是使用应用于特定表单的gform_after_submission挂钩进行的.
我需要做的是将数组中的"Success"或"Invalid"结果存储为变量,我稍后可以使用gform_validation钩子将其传递给函数以验证或使信用卡字段无效.
我在函数中声明变量,如下所示:
function foo {
...code to sell product through API...
$status = $checkoutShoppingCartRequest['Result']['Status'];
}
Run Code Online (Sandbox Code Playgroud)
当我在函数中打印变量$ status时,它显示成功或无效.
这是我需要使用此变量的其他函数,传递给gform_validation,无论Success或Invalid result,都会每次都失败:
function MBvalidate( $validation_result ) {
$form = $validation_result['form'];
if ( $status !== "Success") {
$validation_result['is_valid'] = false;
foreach( $form['fields'] as &$field ) {
if ( $field->id == '34' ) {
$field->failed_validation = true;
$field->validation_message = 'Your credit card could not be processed.';
break;
}
}
}
//Assign modified $form object back to the validation result
$validation_result['form'] = $form;
return $validation_result;
}
add_filter( 'gform_validation_47', 'MBvalidate' );
Run Code Online (Sandbox Code Playgroud)
我试过通过全局和会话等以多种不同的方式传递变量.
我是GF开发的新手,所以我确信我错过了一些东西.我很欣赏任何方向.
$status这是一个局部变量,在您尝试在 if 条件中使用它之前从未定义过它。所以,总是如此null。也许你错过了
$status = $validation_result['Result']['Status'];
Run Code Online (Sandbox Code Playgroud)
或者在检查条件之前进行类似的操作。
| 归档时间: |
|
| 查看次数: |
2285 次 |
| 最近记录: |