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

Rabat na pierwsze zamówienie WooCommerce Sklep
opieka nad steoną wordpress

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.

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:

Rabat na pierwsze zamówienie

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)
dHosting najlepszy serwer dla wordpress i nie tylko

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.

Przyłącz się do dyskusji

[elementor-element k="db47d93de8cdcb51dcf9573fc222d92b" data="eyJpZCI6ImVmYjQ5ZGMiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6eyJibG9nX25hbWUiOiIiLCJibG9nX2Rlc2NyaXB0aW9uIjoiIiwiX2VsZW1lbnRfd2lkdGgiOiJhdXRvIiwidGl0bGUiOiJhc2QiLCJfZWxlbWVudF92ZXJ0aWNhbF9hbGlnbiI6ImNlbnRlciIsIndpZHRoIjp7InVuaXQiOiJweCIsInNpemUiOjI5OSwic2l6ZXMiOltdfSwiaGVpZ2h0Ijp7InVuaXQiOiJweCIsInNpemUiOjcxLCJzaXplcyI6W119LCJhbGlnbiI6ImNlbnRlciIsIm9iamVjdF9maXQiOiJjb250YWluIiwid2lkdGhfbW9iaWxlIjp7InVuaXQiOiJweCIsInNpemUiOjE2MCwic2l6ZXMiOltdfSwiaGVpZ2h0X21vYmlsZSI6eyJ1bml0IjoicHgiLCJzaXplIjozNSwic2l6ZXMiOltdfSwiYWxpZ25fbW9iaWxlIjoibGVmdCIsInJleV9pbmxpbmVfaG9yaXpvbnRhbF9hbGlnbl9tb2JpbGUiOiJsZWZ0IiwiY3VzdG9tIjoieWVzIiwibG9nbyI6eyJ1cmwiOiJodHRwczpcL1wvamF3b3Jvd2kuY3pcL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMTdcLzEwXC9sb2dvLTI5OS10cmFuc3BhcmVudC0yMi0xLnBuZyIsImlkIjo4MDk0LCJzaXplIjoiIiwiYWx0IjoiSmFrdWIgSmF3b3Jvd2ljeiBcdTIwMTMgUHJvZ3JhbWlzdGEgV29yZFByZXNzIGkgTWFya2V0aW5nIGludGVybmV0b3d5Iiwic291cmNlIjoibGlicmFyeSJ9fSwiZWxlbWVudHMiOltdLCJ3aWRnZXRUeXBlIjoicmV5Y29yZS1oZWFkZXItbG9nbyJ9"][elementor-element k="db47d93de8cdcb51dcf9573fc222d92b" data="eyJpZCI6ImE3NmE1YjkiLCJlbFR5cGUiOiJ3aWRnZXQiLCJzZXR0aW5ncyI6eyJfbWFyZ2luIjp7InVuaXQiOiJweCIsInRvcCI6IjAiLCJyaWdodCI6IjAiLCJib3R0b20iOiIwIiwibGVmdCI6IjQwIiwiaXNMaW5rZWQiOmZhbHNlfSwiX2VsZW1lbnRfd2lkdGgiOiJhdXRvIiwiX2VsZW1lbnRfdmVydGljYWxfYWxpZ24iOiJjZW50ZXIiLCJyZXlfaW5saW5lX2hvcml6b250YWxfYWxpZ24iOiJsZWZ0IiwiYnJlYWtwb2ludCI6IiIsInR5cG9ncmFwaHlfZm9udF9mYW1pbHkiOiJFeG8gMiIsInR5cG9ncmFwaHlfZm9udF93ZWlnaHQiOiIzMDAiLCJyZXlfaW5saW5lX2hvcml6b250YWxfYWxpZ25fdGFibGV0IjoibGVmdCIsInJleV9pbmxpbmVfaG9yaXpvbnRhbF9hbGlnbl9tb2JpbGUiOiJyaWdodCIsImN1c3RvbSI6InllcyIsInNvY2lhbF9pY29uX2xpc3QiOltdLCJzb2NpYWxfdGV4dCI6IkZPTExPVyBVUyIsInN0eWxlIjoidWxyIC0tdGhpbm5lciIsIm1vYmlsZV9wYW5lbF9kaXNhYmxlX2Zvb3RlciI6InllcyIsIm1vYmlsZV9wYW5lbF9kaXNhYmxlX21lZ2FfZ3MiOiItLWRpc2FibGUtbWVnYS1ncyIsInR5cG9ncmFwaHlfdHlwb2dyYXBoeSI6ImN1c3RvbSIsInR5cG9ncmFwaHlfZm9udF9zaXplIjp7InVuaXQiOiJweCIsInNpemUiOjE4LCJzaXplcyI6W119LCJ0eXBvZ3JhcGh5X2xpbmVfaGVpZ2h0Ijp7InVuaXQiOiJweCIsInNpemUiOjI1LjIsInNpemVzIjpbXX0sInR5cG9ncmFwaHlfd29yZF9zcGFjaW5nIjp7InVuaXQiOiJlbSIsInNpemUiOiIiLCJzaXplcyI6W119LCJ0eXBvZ3JhcGh5X3N1Yl90eXBvZ3JhcGh5IjoiY3VzdG9tIiwidHlwb2dyYXBoeV9zdWJfZm9udF9zaXplIjp7InVuaXQiOiJweCIsInNpemUiOjE4LCJzaXplcyI6W119LCJ0eXBvZ3JhcGh5X3N1Yl9mb250X3dlaWdodCI6IjMwMCIsInR5cG9ncmFwaHlfc3ViX2xpbmVfaGVpZ2h0Ijp7InVuaXQiOiJweCIsInNpemUiOjI1LjIsInNpemVzIjpbXX0sIm5hdl9pbmRpY2F0b3IiOiJhcnJvdzIiLCJfX2dsb2JhbHNfXyI6eyJ0eXBvZ3JhcGh5X3R5cG9ncmFwaHkiOiIiLCJiZ19jb2xvcl9zdWJtZW51cyI6Imdsb2JhbHNcL2NvbG9ycz9pZD0zZGE3YWUyIn0sIl9tYXJnaW5fbW9iaWxlIjp7InVuaXQiOiJweCIsInRvcCI6IjAiLCJyaWdodCI6IjAiLCJib3R0b20iOiIwIiwibGVmdCI6IjIwIiwiaXNMaW5rZWQiOmZhbHNlfX0sImVsZW1lbnRzIjpbXSwid2lkZ2V0VHlwZSI6InJleWNvcmUtaGVhZGVyLW5hdmlnYXRpb24ifQ=="]