我正在使用 WordPress + Woocommerce 开发电子商务。对于付款,我们使用 Stripe ,并且我们已成功配置它。但是,我们对结帐表格有疑问。付款方式Woocommerce提供了一个获取个人和货运信息的表格。 Stripe的插件介绍了他自己的信用卡字段表单。
我们想在表单中添加一个新字段(复选框以接受隐私政策),并且我们希望通过WordPress系统进行检查和验证。它可以工作,但是由于某种原因,该表单首先验证woocommerce的字段,然后是Stripe字段,最后是我的新自定义字段。
我已将此代码添加到functions.php中
/* PRIVACY POLICY -> ADD CHECKBOX */
add_action( 'woocommerce_review_order_before_submit', 'add_privacy_checkbox', 9 );
function add_privacy_checkbox() {
woocommerce_form_field( 'privacy_policy', array(
'type' => 'checkbox',
'class' => array('form-row privacy'),
'label_class' => array('woocommerce-form__label woocommerce-form__label-for-checkbox checkbox'),
'input_class' => array('woocommerce-form__input woocommerce-form__input-checkbox input-checkbox'),
'required' => true,
'label' => 'He leído y aceptado la <a href="www.myweb.com/privacy.php" target="blank">política de privacidad</a>',
));
}
add_action('woocommerce_checkout_process', 'privacy_checkbox_error_message');
function privacy_checkbox_error_message() {
if ( ! (int) isset( $_POST['privacy_policy'] ) )
wc_add_notice( __( 'Debes aceptar nuestra política de privacidad.' ), 'error' );
}
据我所知,我们可以使用钩子修改验证顺序。我认为应该在Stripe被解雇之前执行“ woocommerce_checkout_process ”,但是不应该……。当我单击CHECKOUT时,系统将验证所有woocommerce字段(包括接受条款和条件),而不是我的新自定义字段,在此之前,系统将验证Stripe的字段。
您知道如何更改字段验证的顺序/优先级吗?我们希望最后保留Stripe的验证。
提前感谢您的时间 干杯