Jednym z największych problemów w e-commerce są porzucone koszyki i niska konwersja, która wynika często z niejasnego lub zbyt skomplikowanego procesu zakupu.
Oto pytanie, które otrzymałem w Wielkanoc przed północą:
W moim sklepie (…) prowadzę akcję, która za zakupy powyżej 100zł obniża koszty wysyłki, jednak mimo spełnienia warunków dalej wyświetla się domyślna i płatna wysyłka, a darmową trzeba wybrać klikając w odpowiednie miejsce. Chciałbym aby to było automatyczne lub aby znikała płatna przesyłka.
W odpowiedzi na nie dzisiaj przedstawię prosty sposób jak można uprościć kartę zamówienia, w przypadku kiedy korzystasz z darmowej dostawy, a zamówienie się na nią kwalifikuje.
Tak wygląda standardowo ekran zamówienia i wyboru formy dostawy zamówionych w sklepie produktów:
Nam zależy, aby w przypadku, gdy zamówienie może zostać zrealizowane z darmową wysyłką – Nie pokazywały się inne, płatne formy dostawy, a to zmniejsza ilość kroków i kliknięć jakie dzielą klienta od płatności i zatwierdzenia zamówienia i końcowo wpływa na wzrost konwersji.
A więc chcemy osiągnąć taki efekt:
Czyli brak wyboru opcji płatnych – wyświetlanie informacji o darmowej przesyłce leży w gestii motywu – czasami wyświetla się informacja, a czasami poprostu nic.
Poniżej znajduje się kod do wklejenia w functions.php (np. Motywu potomnego) lub wtyczkę funkcyjną.
/** | |
* Hide shipping rates when free shipping is available. | |
* Updated to support WooCommerce 2.6 Shipping Zones. | |
* | |
* @param array $rates Array of rates found for the package. | |
* @return array | |
*/ | |
function my_hide_shipping_when_free_is_available( $rates ) { | |
$free = array(); | |
foreach ( $rates as $rate_id => $rate ) { | |
if ( 'free_shipping' === $rate->method_id ) { | |
$free[ $rate_id ] = $rate; | |
break; | |
} | |
} | |
return ! empty( $free ) ? $free : $rates; | |
} | |
add_filter( 'woocommerce_package_rates', 'my_hide_shipping_when_free_is_available', 100 ); |
Ta funkcja pokaże tylko pierwszą opcję darmowej wysyłki. Jeżeli mamy ich więcej, np. darmowy kurier, darmowa poczta, darmowe paczkomaty, wystarczy zakomentować linię 13. linię skryptu (break;). Dodaj dwa prawe slashe (//) na początku linii.
//break;
Dzięki za uzupełnienie :)
Przydatny kod. Dziękuję. Amatorom wklejającym ten kod warto przypominać, że na końcu koniecznie musi być ?> bez spacji na końcu :-) W przeciwnym razie wordpress nie bedzie chcial logować żadnego admina.
To już zależy od motywu, kod wklejam jako wersję do dodania na końcu lub w treści :) więcej szkód by mogło zrobić gdybym dodał na mońcu ?> i ktoś by potem wkleił kolejny kod bez rozpoczynającego