Повторно закажите валидацию Woocommerce с помощью Stripe - PullRequest
0 голосов
/ 03 октября 2018

Я занимаюсь разработкой электронной коммерции, используя 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&iacute;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&iacute;tica de privacidad.' ), 'error' );
}

Насколько я знаю, мы можем изменить порядок проверки с помощью хуков.Я думаю, что « woocommerce_checkout_process » должен быть выполнен до запуска Stripe, но не….когда я нажимаю CHECKOUT, система проверяет все поля woocommerce (включая принимаемые условия), но не мое новое настраиваемое поле, перед этим система проверяет поля Stripe.

Знаете ли вы, как мы можем изменитьпорядок / приоритет проверки полей?мы хотим оставить подтверждение полосы в конце.

Заранее благодарим за ваше время. Приветствия

...