Насущная проблема: предотвращение нежелательных изменений способов оплаты в WooCommerceJquery

Программирование на jquery
Ответить Пред. темаСлед. тема
Anonymous
 Насущная проблема: предотвращение нежелательных изменений способов оплаты в WooCommerce

Сообщение Anonymous »


Я в некотором затруднении со страницей сведений о заказе администратора 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("Способ оплаты останется прежним."); } }); });
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Jquery»