Насущная проблема: предотвращение нежелательных изменений способов оплаты в WooCommerce ⇐ Jquery
Насущная проблема: предотвращение нежелательных изменений способов оплаты в WooCommerce
Я в некотором затруднении со страницей сведений о заказе администратора WooCommerce. Вот суть: я работаю над настройкой подсказки, которая срабатывает при изменении способа оплаты заказа. В этом запросе у пользователя вежливо запрашивается причина изменения, а затем аккуратно скрывается эта причина в примечаниях к заказу вместе с именем пользователя, датой и временем.
Пока все хорошо, верно? Ну вот и поворот. Если пользователь оставляет поле причины пустым и нажимает кнопку отправки, заказ не обновляется должным образом. Это круто – это то, чего я хочу. Но вот что самое интересное: если пользователь решит выйти из системы и отменить приглашение, появится сообщение об ошибке. И после того, как они неохотно нажимают «ОК» в этом сообщении об ошибке, бум! Способ оплаты волшебным образом меняется, что точно не входит в план.
Итак, я ищу решение этой загадки. Есть ли способ предотвратить перехват этого сообщения об ошибке в нашем переключателе способа оплаты? Или, возможно, можно проделать небольшой волшебный трюк и заставить кнопку «Отмена» исчезнуть? Мы будем очень признательны за любые идеи, советы или рекомендации по этой загадке.
Вот код, который я создал.
add_action('woocommerce_admin_order_data_after_billing_address', 'order_update_note'); функция order_update_note() { глобальный $пост; $order_id = get_the_ID(); $order = wc_get_order($order_id); $current_user = wp_get_current_user(); $user_now = $current_user->display_name; $current_pay_method = $order->get_paid_method(); ?> jQuery(документ).ready(функция($) { $('.save_order').on('click', function() { var orderid = ; var user_now = ''; // Фиксируем выбранный способ оплаты var Payment_method = $('#woocommerce-order-data select[name="_pay_method"]').val(); // Проверяем, изменился ли способ оплаты if (pay_method !== '') { var Reason = Prompt("Способ оплаты изменился. Укажите причину:"); if (reason !== null && Reason.trim() !== "") { // Проверяем, не пуста ли причина $.ajax({ url: '', тип: «ПОСТ», данные: { действие: 'update_order_add_note', идентификатор заказа: идентификатор заказа, пользователь_сейчас: пользователь_сейчас, метод_платежа: метод_платежа, причина: причина // Отправляем причину на сервер }, успех: функция (ответ) { console.log('Настраиваемое поле успешно обновлено.'); }, ошибка: функция(ответ) { console.log('Не удалось отправить расход.'); } }); } еще { alert("Для изменения способа оплаты необходима причина."); } } еще { alert("Способ оплаты останется прежним."); } }); });
Я в некотором затруднении со страницей сведений о заказе администратора WooCommerce. Вот суть: я работаю над настройкой подсказки, которая срабатывает при изменении способа оплаты заказа. В этом запросе у пользователя вежливо запрашивается причина изменения, а затем аккуратно скрывается эта причина в примечаниях к заказу вместе с именем пользователя, датой и временем.
Пока все хорошо, верно? Ну вот и поворот. Если пользователь оставляет поле причины пустым и нажимает кнопку отправки, заказ не обновляется должным образом. Это круто – это то, чего я хочу. Но вот что самое интересное: если пользователь решит выйти из системы и отменить приглашение, появится сообщение об ошибке. И после того, как они неохотно нажимают «ОК» в этом сообщении об ошибке, бум! Способ оплаты волшебным образом меняется, что точно не входит в план.
Итак, я ищу решение этой загадки. Есть ли способ предотвратить перехват этого сообщения об ошибке в нашем переключателе способа оплаты? Или, возможно, можно проделать небольшой волшебный трюк и заставить кнопку «Отмена» исчезнуть? Мы будем очень признательны за любые идеи, советы или рекомендации по этой загадке.
Вот код, который я создал.
add_action('woocommerce_admin_order_data_after_billing_address', 'order_update_note'); функция order_update_note() { глобальный $пост; $order_id = get_the_ID(); $order = wc_get_order($order_id); $current_user = wp_get_current_user(); $user_now = $current_user->display_name; $current_pay_method = $order->get_paid_method(); ?> jQuery(документ).ready(функция($) { $('.save_order').on('click', function() { var orderid = ; var user_now = ''; // Фиксируем выбранный способ оплаты var Payment_method = $('#woocommerce-order-data select[name="_pay_method"]').val(); // Проверяем, изменился ли способ оплаты if (pay_method !== '') { var Reason = Prompt("Способ оплаты изменился. Укажите причину:"); if (reason !== null && Reason.trim() !== "") { // Проверяем, не пуста ли причина $.ajax({ url: '', тип: «ПОСТ», данные: { действие: 'update_order_add_note', идентификатор заказа: идентификатор заказа, пользователь_сейчас: пользователь_сейчас, метод_платежа: метод_платежа, причина: причина // Отправляем причину на сервер }, успех: функция (ответ) { console.log('Настраиваемое поле успешно обновлено.'); }, ошибка: функция(ответ) { console.log('Не удалось отправить расход.'); } }); } еще { alert("Для изменения способа оплаты необходима причина."); } } еще { alert("Способ оплаты останется прежним."); } }); });
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Дублированное поле способов оплаты на странице оформления заказа [ woocommerce ]
Anonymous » » в форуме Php - 0 Ответы
- 72 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Дублированное поле способов оплаты на странице оформления заказа [ woocommerce ]
Anonymous » » в форуме CSS - 0 Ответы
- 45 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как отображать настраиваемые поля оплаты при выборе способа оплаты в WooCommerce Checkout?
Anonymous » » в форуме Php - 0 Ответы
- 38 Просмотры
-
Последнее сообщение Anonymous
-