Безплатна доставка в WooCommerce - персонализиране, плъгини и хакове

Днес актуализирам една от моите публикации в блога на приставката WooCommerce за организиране на безплатна доставка в онлайн магазин. Ще разгледам основните характеристики на функцията Безплатна доставка + няколко интересни трика-фрагменти и модули по темата.

Ако говорим за предимствата на този чип, тогава той може да увеличи печалбата ви поради желанието на купувачите да съберат повече продукти, за да го активират. От друга страна, подобна техника също ще има положителен ефект върху лоялността на клиентите, тъй като ще им позволи да спестят малко.

Създайте и настройте безплатна доставка

WooCommerce се предлага с няколко опции за доставка в основния си пакет: фиксирана ставка, вземане и безплатно. В новата текуща версия първо трябва да създадете „Зона за доставка“ (например държава или град) и след това да добавите определени видове.

Всички тези чипове се намират в секцията "WooCommerce" - "Настройки", където ще трябва да изберете раздела "Доставка". След като добавите зона и отидете на нейната страница най-долу, щракнете върху бутона „Добавяне на метод“ и изберете съответния елемент.

В настройките ще има 3 полета:

  • име – показва се в сайта;
  • изискване за задействане;
  • минимална сума на поръчката, ако е приложимо.

В "Изисквания" трябва да определите в какъв случай ще работи функцията за безплатна доставка. Има опции като:

Най-често този бонус се активира при достигане на определена сума на поръчката, но, както виждате, можете да използвате това условие заедно или поотделно с валиден купон за отстъпка / промо код.

внимание! Ако имате стара версия на приставката за магазина, интерфейсът там е малко по-различен.

Функционалността се активира чрезспециален едноименен бутон за отметка и всички параметри се задават на една страница без изскачащи прозорци.

Хакове за безплатна доставка в WooCommerce

По подразбиране, когато дадено условие е изпълнено, съответният артикул просто се показва на страницата на количката заедно с други:

Всичко изглежда правилно, но в същото време потребителят ще може да избере всеки метод от списъка, например вземане или препращане на поща. Струва ми се, че е по-логичнобезплатната опция да се избира автоматично. Очевидно разработчиците са солидарни с мен, защото. Има няколко фрагмента по темата на официалния уебсайт с документация.

внимание! Добавете кодовете по-долу към functions.php (следете с коя версия работите). Между другото, преди внедряването се препоръчва да изчистите кеша на модула - за това в секцията "WooCommerce" - "Състояние" - "Инструменти", срещу първия елемент WC преходни процеси, щракнете върху бутона Изчисти.

Фрагмент WooCommerce 3.0+

Както бе споменато по-горе, той скрива всички методи освен „free_shipping“. Успешно работих върху WC 2.6.

Решение за версия 2.5

/** * woocommerce_package_rates е 2.1+ кука */ add_filter( 'woocommerce_package_rates', 'h ] = $free_shipping; > return $rates; >

Как да покажа безплатна + местна доставка

Ако се вгледате внимателно, кодът в израза IF използва познати нотации: free_shipping и local_pickup. Теоретично можете да опитате други вместо това, например flat_rate: 5 фиксирана ставка (числото се променя тук).

Между другото, ако редактирането на шаблона ви изглежда сложно, по-добре е да инсталирате модула WC Hide Shipping Methods, разгледан по-долу. Всъщност той дублира този фрагмент.

Изключване на определени състояния

На официалната уеб страница има още един интересен хак, който изпълнява същите задачи като предишните, но не за всички щати (САЩ). Вероятно този код не е особено подходящ за нашите страни, но може би ще бъде полезен на някого за общо развитие.

/** * H ] ) И !in_array( WC()->customer->shipping_state, $excluded_states ) ) : // Вземете масива за безплатна доставка в нов масив $freeshipping = array(); $freeshipping = $rates['free_shipping']; // Изпразване на масива $available_methods unset( $rates ); // Добавяне на безплатна доставка обратно в $avaialble_methods $rates = array(); $rates[] = $безплатна доставка; endif; if( isset( $rates['free_shipping'] ) AND in_array( WC()->customer->shipping_state, $excluded_states ) ) < // премахване на опцията за безплатна доставка unset( $rates['free_shipping']); >връщане на $ставки; >

Плъгини за безплатна доставка на WooCommerce

В момента има само 2 от тях: първият ще бъде по-нов и по-прост, а вторият ще изпълнява по-сложни задачи.

WC H >Автоматично скрива всички опции с изключение на „безплатна доставка“ по време на процеса на плащане. Ако е необходимо, допълнително е възможно да оставите и самодоставяне (местно вземане). Всички параметри се задават в админ панела в настройките на магазина:

По принцип решението напълно дублира третия фрагмент/хак по-горе, но е по-приятелски и описателно за тези, които са нови за WordPress.

Разширена безплатна доставка

Позволява ви да посочите някои допълнителни условия за безплатна доставка в онлайн магазина, например:

  • общата сума на покупките;
  • държава или пощенски код;
  • тегло, количество на стоките;
  • купон;
  • и много други.

Към момента на писане текущата версия беше 1.1.3, минималните изисквания бяха WordPress 4.0+ и резултатът беше почти 5 от5. Можете да го изтеглите от тук или да го намерите по име от админ панела.

След като активирате плъгина, функцията ще се появи в секцията "Доставка":

  • първо, трябва да го активирате - поставете отметка в квадратчето „Активиране на разширена безплатна доставка“;
  • след това маркираме и втората опция - тя ще скрие всички опции за доставка, ако работи условието за безплатната (хакът не е необходим в този случай);
  • трето, кликваме върху бутона „Добавяне на метод за безплатна доставка“, за да създадем съответните логически правила.

Можете да добавите няколко групи параметри, които ще работят на принципа "ИЛИ". Тоест, функцията се задейства, ако е изпълнен поне един от посочените критерии - или първият, или вторият. Във всяка група е разрешено да се комбинират опции с принципа "И" (условието ще бъде изпълнено, ако и двете твърдения са верни). В екранната снимка на горния пример логиката на действията е следната: доставката ще бъде безплатна за „град Киев + „минимална поръчка 500 UAH“ ИЛИ за „град Киев +“ мин. поръчка 500 UAH.