Poniżej pytanie, które otrzymałem wczoraj od jednego z odwiedzających.
(…) Na Twoją stronę trafiłem z linka na dole strony sklepu (…), jako że jestem w trakcie projektowania i tworzenia własnego sklepu internetowego szukam różnych przydatnych rozwiązań i spodobał mi się automatyczny rabat naliczany przy składaniu pierwszego zamówienia (…) jak można włączyć taką funkcjonalność w WooCommerce, w kodach rabatowych nie ma takiej opcji. (…)
Funkcja ta nie jest dostępna domyślnie w WooCommerce. Jednak zanim zaczniemy przypomnę jak dodajemy takie kody do WordPress:
Jak dodać ten kod do WordPress?
Kod ten dodaj do motywu w pliku functions.php, najlepiej motywu potomnego lub własnej wtyczki funkcyjnej. Przed „?>” na końcu pliku (może tego fragmentu nie być i wtedy po prostu na końcu). Więcej szczegółów w artykule: Własny kod w WordPress.
Zniżka na pierwsze zamówienie – opis snippetu
Poznasz dzisiaj dwie opcje takiego rabatu, wraz z kodami odpowiedzialnymi za dodanie funkcji naliczającej zniżkę dla pierwszego zamówienia.
Rabat pokazuje się w koszyku, kiedy klient jest zalogowany – wymaga tego funkcja, która sprawdza ile zamówień klient już złożył i jeżeli wynik testu = 0, ta mini wtyczka dodaje zniżkę do zamówienia.
Pamiętaj, aby ze zniżkami obchodzić się ostrożnie, gdyż w dłuższej perspektywie może wyjść na minus np. z powodu „Januszy zakupów” Sprytnych kupujących lub złego oszacowania marży zysku – zobacz praktyczny przewodnik po strategiach cenowych, aby wiedzieć jak zrobić to dobrze.
W obu przypadkach zmieniasz tylko 7 i 8 linijkę – typ rabatu i jego wartość.
Ważne! Wykonaj kopię zapasową WordPressa wraz z bazą danych przed modyfikacją plików i nie stosuj dwóch kodów jednocześnie – wybierz, zmodyfikuj wg. potrzeb i korzystaj tylko z jednego kodu jednocześnie.
Stała kwota rabatu na pierwsze zamówienie w WooCommerce
Poniżej znajduje się kod, który nalicza stałą zniżkę (linijka 7 – wartość: fixed) w wysokości 49zł (linijka 8 – wartość 49).
Jeżeli chcesz to zmienić zmień te dwie wartości i wklej ten kod do pliku functions.php motywu – jak już wspominałem, najlepiej motywu potomnego.
function jcz_woo_pierwsze_zamowienie() {
global $wpdb, $woocommerce;
if ( is_user_logged_in() ) {
$customer_id = get_current_user_id();
$orderNumCheck = wc_get_customer_order_count( $customer_id );
$discountType = 'fixed';
$discountValue = '49';
if ($orderNumCheck == 0 and $discountType != 'off') {
$subtotal = WC()->cart->cart_contents_total;
if ($discountType == 'fixed') {
WC()->cart->add_fee( 'Pierwsze zamówienie', -$discountValue );
} else {
$discount = $discountValue/100;
WC()->cart->add_fee( 'Pierwsze zamówienie', -$subtotal*$discount );
}
} else {
WC()->cart->add_fee( 'Pierwsze zamówienie', 0 );
}
}
}
add_action( 'woocommerce_cart_calculate_fees','jcz_woo_pierwsze_zamowienie' );
Procentowy rabat na pierwsze zamówienie w WooCommerce
Poniżej znajduje się kod, który nalicza stałą zniżkę (linijka 7 – wartość: BRAK) w wysokości 49% (linijka 8 – wartość 49).
Jeżeli chcesz to zmienić zmień te dwie wartości i wklej ten kod do pliku functions.php motywu – jak już wspominałem, najlepiej motywu potomnego.
function jcz_woo_pierwsze_zamowienie() {
global $wpdb, $woocommerce;
if ( is_user_logged_in() ) {
$customer_id = get_current_user_id();
$orderNumCheck = wc_get_customer_order_count( $customer_id );
$discountType = '';
$discountValue = '49';
if ($orderNumCheck == 0 and $discountType != 'off') {
$subtotal = WC()->cart->cart_contents_total;
if ($discountType == 'fixed') {
WC()->cart->add_fee( 'Pierwsze zamówienie', -$discountValue );
} else {
$discount = $discountValue/100;
WC()->cart->add_fee( 'Pierwsze zamówienie', -$subtotal*$discount );
}
} else {
WC()->cart->add_fee( 'Pierwsze zamówienie', 0 );
}
}
}
add_action( 'woocommerce_cart_calculate_fees','jcz_woo_pierwsze_zamowienie' );
Od strony klienta wygląda to tak:
Oczywiście jest też możliwe, aby nie usuwając kodu zniżkę wyłączyć. Wtedy zmienną z linijki 7 zmieniamy na ’off’, a w linijce 8 zmieniasz wartość na pustą (= ”).
Jeżeli będziesz chciał ją uruchomić ponownie – wystarczy, że wprowadzisz wcześniejsze (lub nowe) wartości w kodzie.
Poniżej podobny snippet – automatyczne stosowanie kuponu rabatowego:
3 komentarze do wpisu “Rabat na pierwsze zamówienie w WooCommerce – jak uruchomić?”
Janusz Kamiński
Dobry temat! Kod działa :)
Piotr Słaby
Dobry pomysł na zachęcenie nowego klienta do zakupów.
A czy do zachęcenia do powrotu – można zrobić automatycznie udzielany kupon rabatowy – na następne zakupy – udzielany klientom, którzy przekroczyli określoną kwotę (y) zakupów? Będzie to dotyczyło (a) przekroczenia kwoty w bieżącym zamówieniu i (b) łącznej kwoty dotychczas zrealizowanych zakupów w sklepie?
Jakub Jaworowicz[ Autor Artykułu ]
To już można zrobić z poziomu Marketing Automation.