Доступные способы доставки в зависимости от суммы заказа

На миша.блог когда-то давно прилетел комментарий с таким вопросом. Я сразу же добавил идею поста для этого как черновик, и в итоге вот сейчас публикую для вас 😁

На самом деле похожие уроки уже есть на блоге:

  • Тут мы включали и отключали методы оплаты в зависимости от суммы заказа.
  • А здесь мы скрывали способы доставки в случае доступности бесплатной доставки.

Также на сайте есть мой видеокурс по WooCommerce, который я всем рекомендую 🚀

Прежде, чем перейти к коду, я хочу напомнить, что доступность способа доставки от суммы заказа спокойно настраивается в админке WooCommerce, то есть возможно код вам и не понадобится. Но эта возможность существует только для бесплатных доставок.

настройка бесплатной доставки в WooCommerce

Ниже же сниппет кода, который позволят включить метод доставки flat_rate:2 при достижении определённой суммы заказа.

add_filter( 'woocommerce_package_rates', 'truemisha_remove_shipping_on_price', 25, 2 );
 
function truemisha_remove_shipping_on_price( $rates, $package ) {
 
	// если сумма всех товаров в корзине меньше 1000, отключаем способ доставки
	if ( WC()->cart->subtotal < 1000 ) {
	    unset( $rates[ 'flat_rate:2' ] );
	}
 
	return $rates;
 
}
  • Не путайте WC()->cart->subtotal, который считает сумму всех товаров в корзине и WC()->cart->total, в который уже входит стоимость выбранного способа доставки.
  • О том, как определить идентификатор способа доставки я уже рассказывал тут.

Миша

В последние годы я долго не знал, что мне делать с сайтом misha.blog, ведь он практически не приносит никакого профита, но недавно я осознал, что моя миссия – способствовать распространению WordPress. Ведь WordPress – это лучший движок для разработки сайтов – как для тех, кто готов использовать заложенную структуру этой CMS, так и для тех, кто предпочитает headless решения.

Сам же я впервые познакомился с WordPress в 2009 году. Организатор WordCamp. Преподаватель в школах Epic Skills и LoftSchool.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля на WordPress / WooCommerce — пишите. Я и моя команда сделаем вам всё на лучшем уровне.

Комментарии — 2

  • Александр 31 июля 2020 #

    Добрый день, интересно было бы посмотреть про расчет доставки через какую нибудь компанию транспортную

    • Миша 31 июля 2020 #

      Добрый день,
      спасибо за предложение

Оставить комментарий

Если вы хотите добавить код, не забудьте обернуть его в <pre lang="php"></pre>, если же код – меньше одной строчки, то можно и в <code></code>.