@DK10

Как сделать чтобы корзина woocommerce автоматически обновлялась при выборе доставки?

У меня при выборе способа доставки скрывались определенные поля, но нужно вручную обновлять страницу чтобы поля скрылись. Как сделать это автоматически?
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ответы на вопрос 1
neowaring
@neowaring
Разработчик модулей и дополнений Opencart/ocStore
Решение с Google

Это решение для Woocommerce 2.1.X!

Я не уверен, что это может помочь. У меня возникла аналогичная проблема, когда мне нужно было выбрать выбранный метод доставки. В файле \wp-content\plugins\woocommerce\includes\wc-cart-functions.php я нашел метод wc_cart_totals_shipping_html().

Внутри этого метода выполняется проверка текущего выбранного способа доставки, который содержит следующий код:

$packages = WC()->shipping->get_packages();
foreach ( $packages as $i => $package ) {
    $chosen_method = isset( WC()->session->chosen_shipping_methods[ $i ] ) ? WC()->session->chosen_shipping_methods[ $i ] : '';
}

Я использовал этот код в своих собственных functions.php чтобы проверить выбранный метод доставки, и он работает. Пример:

add_filter( 'woocommerce_billing_fields', 'wc_change_required_fields');

function wc_change_required_fields($address_fields) {
    $packages = WC()->shipping->get_packages();
    foreach ( $packages as $i => $package ) {
        $chosen_method = isset( WC()->session->chosen_shipping_methods[ $i ] ) ? WC()->session->chosen_shipping_methods[ $i ] : '';
    }
    if ($chosen_method == 'local_delivery') {
        $address_fields['billing_address_1']['required'] = true;
        // place your changes that depend on the shipping method here...
    }
}

Надеюсь, это поможет!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы