В этом уроке мы создадим с вами метод доставки «Единая ставка» и настроим его так, чтобы его цена рассчитывалась в зависимости от веса товаров в корзине.
Также у меня на сайте есть видеокурс по WooCommerce, в котором мы создаём тему для интернет-магазина с нуля, на основе готового HTML, вот ссылка.
Код как обычно вставляем либо в functions.php
текущей темы (предпочтительнее дочерней), либо в свой плагин.
add_filter( 'woocommerce_package_rates', 'truemisha_shipping_by_weight', 25, 2 ); function truemisha_shipping_by_weight( $rates, $package ) { // вес товаров в корзине $cart_weight = WC()->cart->cart_contents_weight; // ID метода доставки $method_id = 'flat_rate:84'; if ( isset( $rates[ $method_id ] ) ) { // тут должна быть ваша собственная формула, моя это: // стоимость доставки = 5 * вес товаров в корзине $rates[ $method_id ]->cost = 5 * round ( $cart_weight ); } return $rates; }
$method_id
? Понятно, что это ID конкретно вашего метода доставки, который мы создали в первом шаге. О том, как его узнать, я уже рассказывал тут.foreach( $rates as ...
.
Чтобы оставить комментарий, пожалуйста, зарегистрируйтесь или войдите.