Rabat na pierwsze zamówienie w WooCommerce – jak uruchomić?

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 można ją uruchomić dodając kilka linijek kodu do pliku functions.php motywu (najlepiej motywu potomnego).

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.

Pomyśl o tym
Rozszerzona wersja dostępna po kontakcie ze mną (kliknij tutaj) – otrzymasz wtyczkę oraz prosty panel zarządzania bez konieczności modyfikowania kodu oraz możliwe jest wyświetlenie rabatu użytkownikom niezalogowanym.

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:

4/5 - (1 vote)

Na stronie mogą znajdować się linki polecające (affiliacyjne), które pozwalają utrzymać bloga. Zakup z mojego polecenia nie generuje dla Ciebie dodatkowych kosztów, a ja otrzymam prowizje od kwoty zapłaconej.

3 komentarze do wpisu “Rabat na pierwsze zamówienie w WooCommerce – jak uruchomić?”

  1. Avatar autora komentarza Janusz Kamiński
    Janusz Kamiński

    Dobry temat! Kod działa :)

  2. Avatar autora komentarza Piotr Słaby
    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?

    1. Avatar autora komentarza Jakub Jaworowicz
      Jakub Jaworowicz[ Autor Artykułu ]

      To już można zrobić z poziomu Marketing Automation.

Skomentuj Janusz Kamiński Anuluj odpowiedź