我有一个通过第三方服务处理销售的功能,处理结果并返回一个数组,状态为“成功”或“无效”.此销售电话是使用应用于特定表单的gform_after_submission钩子进行的.
我需要做的是将“成功”或“无效”结果存储在数组中,作为一个变量,稍后可以使用gform_validation钩子传递给函数来验证或使信用卡字段无效.
我在函数中声明变量,就像这样:
function foo {
...code to sell product through API...
$status = $checkoutShoppingCartRequest['Result']['Status'];
}
当我在函数中打印变量$status时,它显示成功或无效,就像它应该.
这里是其他函数,我需要使用这个变量,传递给gform_validation,每次失败,无论成功还是无效结果:
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' );
我已经尝试通过全局变量和会话等传递变量多种不同的方式.
我是GF发展的新人,所以我确信我缺少一些东西.我会赞赏任何方向.