wc_add_notice问题

时间:2019-12-16 21:03:22

标签: php wordpress woocommerce

在我的结帐表格中,我在function.php中添加了Google验证码。然后我正在验证验证码不为空且不为假:

 $experience->person_id =  Session::get('personID');

但是函数wc_add_notice仅在下一页(thankyou.php)中显示错误消息。订单正在发送。但我想,如果验证码为假或为空,则不加载thankyou.php。我应该在此代码中添加什么?它必须像必填字段一样起作用。如果出现故障-出现错误消息,并且用户停留在同一页面上。

1 个答案:

答案 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' ));

        }
}