Jak dodać komunikat o brakującej kwocie do darmowej wysyłki w sklepie WooCommerce?

sklep woocommerce
Jak schować inne opcje wysyłki przy darmowej dostawie Woocommerce?
28 listopada 2016
Jak naprawić błąd Maximum Execution Time Exceeded
30 stycznia 2017
Pokaż wszystkie

Jak dodać komunikat o brakującej kwocie do darmowej wysyłki w sklepie WooCommerce?

sklep woocommerce

Oto druga część (LINK do cz. pierwszej) emocjonującej historii o prośbie klienta dot. ukrycia innych form dostawy przy wybraniu darmowej dostawy.

Wspominałam tam, że klient nie wiedział jeszcze że ma inne problemy… Przyznam się szczerze, że wchodziłam kilka razy na stronę i….

nigdy nie zauważyłam informacji o darmowej wysyłce 😉 Klient też był w szoku, bo w ich świadomośc ta darmowa wysyłka funkcjonowałą bardzo długo, niestety jednak

nikt robiąc zakupy w sklepie nie wiedział o niej, więc siłą rzeczy nie koniecznie można go było zmotywować do większych zakupów dla wizji darmowej dostawy.

Ponieważ chcieliśmy zadziałać dość szybko i potem zastanowić się nad dobrym miejscem do ekspozycji naszego ważnego info na sklepie zastosowaliśmy taki mały trik…

Dodaliśmy na stronie koszyka informację o ilości pieniążków jakich brakuje do darmowej wysyłki.

Aby zrobić coś takiego u siebie w sklepie wystarczy do functions.php (najlepiej do tego skopiowanego do motywu potomnego) doać ten kod:

function bbloomer_free_shipping_cart_notice_zones() {
 
// Get Shipping Methods for Current Zone
 
global $woocommerce;
$shipping_methods = $woocommerce->shipping->get_shipping_methods();
 
// Loop through the array to find min_amount value/s
 
foreach($shipping_methods as $key => $value) {
    if ( $shipping_methods[$key]->min_amount > 0 ) {
      $min_amounts[$key] = $shipping_methods[$key]->min_amount;
    }
}
 
if ( is_array($min_amounts) ) {
 
// Find lowest min_amount
 
$min_amount = min($min_amounts);
 
// Get Cart Subtotal inc. Tax excl. Shipping
 
$current = WC()->cart->subtotal;
 
// If Subtotal < Min Amount Echo Notice
// and add "Continue Shopping" button
 
if ( $current < $min_amount ) {
echo '
Kontynuuj zakupyDo darmowej dostawy brakuje ci tylko ' . wc_price( $min_amount - $current ) . '
'; } } } add_action( 'woocommerce_before_cart', 'bbloomer_free_shipping_cart_notice_zones' );

Działa dla Woo w wersji 2.6, oryginalne źródło rozwiązania oraz wersja dla WooCommerce 2.5 dostępne TU.