На странице оформления заказа WooCommerce стоимость доставки не обновляется при изменении типа оплаты, но стоимость доставки меняется при обновлении полей адреса.
Требование:
Если тип оплаты — наложенный платеж, то стоимость доставки — 100;
Если тип оплаты — UPI, то стоимость доставки — 70;
Ниже приведены два файла, которые мы используем для удовлетворить требование
custom-functions.php
На странице оформления заказа WooCommerce стоимость доставки не обновляется при изменении типа оплаты, но стоимость доставки меняется при обновлении полей адреса. Требование: Если тип оплаты — наложенный платеж, то стоимость доставки — 100; Если тип оплаты — UPI, то стоимость доставки — 70; Ниже приведены два файла, которые мы используем для удовлетворить требование custom-functions.php [code]// Adjust shipping cost based on the selected payment method add_filter('woocommerce_package_rates', 'adjust_shipping_based_on_payment_method', 10, 2);
function adjust_shipping_based_on_payment_method($rates, $package) { $chosen_payment_method = WC()->session->get('chosen_payment_method');
if ($chosen_payment_method) { foreach ($rates as $rate_key => $rate) {
function update_shipping_cost() { if (isset($_POST['payment_method'])) { WC()->session->set('chosen_payment_method', sanitize_text_field($_POST['payment_method']));
// Prevent the 'update_checkout' event from being triggered infinitely var isUpdating = false; $(document.body).on('update_checkout', function() { if (!isUpdating) { isUpdating = true; $('body').trigger('update_checkout'); isUpdating = false; } }); }); [/code] Что я делаю не так?