在我的结帐表格中,我在function.php中添加了Google验证码。然后我正在验证验证码不为空且不为假:
$experience->person_id = Session::get('personID');
但是函数wc_add_notice仅在下一页(thankyou.php)中显示错误消息。订单正在发送。但我想,如果验证码为假或为空,则不加载thankyou.php。我应该在此代码中添加什么?它必须像必填字段一样起作用。如果出现故障-出现错误消息,并且用户停留在同一页面上。
答案 0 :(得分:0)
我相信您应该删除if(count($errors->get_error_messages()) == 0)
,它应该可以工作。由于出现了if
语句,因此在“谢谢”页面上收到错误消息。
function my_custom_checkout_field_process($data, $errors) {
if ( empty( $_REQUEST['g-recaptcha-response'] ) || !(google_recaptcha( $_REQUEST['g-recaptcha-response'] )) ) {
throw new Exception( __( 'Please enter correct captcha.', 'error' ));
}
}