WooCommerce: стоимость доставки от веса

Пожалуй, самая распространенная задача для интернет-магазина на WooCommerce, является доставка и её расчет. Поскольку для русского сегмента практически нет готовых решений. За исключением пару плагинов (Почта России и СДЭК). Но о них поговорим в другой раз.

Сейчас мы добавим калькулятор доплаты к стоимости доставки от веса. То есть будет добавляться установленный нами процент от общего веса товара к общей сумме. Это будет выводиться как отдельное поле.

стоимость доставки от веса

Добавляем доплату к стоимости доставки по весу

Все, что нам нужно сделать, так это добавить в файл functions.php код, то что ниже. Установите в нем свой процент доплаты от веса. Можете ставить целые числа или сотые. А также учтите, если у товара не будет указан вес, то и поле «доплата» тоже не будет.

function weight_add_cart_fee() {

    // Установите здесь свой процент
    $percentage = 0.2;

    if ( is_admin() && ! defined( 'DOING_AJAX' ) )
        return;

    // Получите вес всех товаров в корзине
    $cart_weight = WC()->cart->get_cart_contents_weight();

    // рассчитать размер комиссии
    $fee = $cart_weight * $percentage;
    // Если значение веса не равно нулю, сумма комиссии добавляется в корзину.
    if ( !empty( $cart_weight ) ) {
        WC()->cart->add_fee( __('Доплата (вес) ', 'your_theme_slug'), $fee, false );
    }
}
add_action( 'woocommerce_cart_calculate_fees','weight_add_cart_fee' );
Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *