Woocommerce Изменить название способа доставки при оформлении заказа в зависимости от выбранного класса доставки - PullRequest
0 голосов
/ 25 июня 2018

Я хочу изменить название способа доставки, отображаемое при оформлении заказа в моем магазине, в зависимости от класса доставки товара.

например,

Наименование метода доставки в настоящее время является единым тарифом, и у меня есть 2 продукта:

  • Если продукт A приобретается, мне нужно иметь "Хрупкую доставку"
  • Если продукт B приобретается, мне нужно, чтобы он имел "Стандартную доставку"

К сожалению, я должен выполнить доставку, используя классы, чтобы альтернативные методы не работали.

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Следующий код переименует вашу фиксированную стоимость доставки в зависимости от вашего класса доставки "Хрупкий":

Вам может потребоваться «Включить режим отладки» в общих настройках доставки на вкладке «Параметры доставки», чтобы временно отключить кэши доставки.

Код:

add_filter('woocommerce_package_rates', 'change_shipping_method_name_based_on_shipping_class', 50, 2);
function change_shipping_method_name_based_on_shipping_class($rates, $package){
    // HERE set the shipping class for "Fragile"
    $shipping_class_id = 64;
    $found = false;

    // Check for the "Fragile" shipping class in cart items
    foreach( $package['contents'] as $cart_item ) {
        if( $cart_item['data']->get_shipping_class_id() == $shipping_class_id ){
            $found = true;
            break;
        }
    }

    // Loop through shipping methods
    foreach ( $rates as $rate_key => $rate ) {
        // Change "Flat rate" Shipping method label name
        if ( 'flat_rate' === $rate->method_id ) {
            if( $found )
                $rates[$rate_key]->label = __( 'Fragile shipping', 'woocommerce' );
            else
                $rates[$rate_key]->label = __( 'Standard shipping', 'woocommerce' );
        }
    }
    return $rates;
}

Код помещается в файл function.php вашей активной дочерней темы (или активной темы). Проверено и работает.

Не забудьте повторно включить опцию «Включить режим отладки» в настройках доставки.

0 голосов
/ 25 июня 2018

я думаю, что этот плагин может помочь вам, а также проверить это один

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...