Пожалуй, самая распространенная задача для интернет-магазина на 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' );