Я занимаюсь разработкой электронной коммерции, используя 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' );
}
Насколько я знаю, мы можем изменить порядок проверки с помощью хуков.Я думаю, что « woocommerce_checkout_process » должен быть выполнен до запуска Stripe, но не….когда я нажимаю CHECKOUT, система проверяет все поля woocommerce (включая принимаемые условия), но не мое новое настраиваемое поле, перед этим система проверяет поля Stripe.
Знаете ли вы, как мы можем изменитьпорядок / приоритет проверки полей?мы хотим оставить подтверждение полосы в конце.
Заранее благодарим за ваше время. Приветствия