# Rabat na&nbsp;pierwsze zamówienie w&nbsp;WooCommerce &#8211; 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](https://jaworowi.cz/instalacja-wordpress-woocommerce-18680.php). 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](https://jaworowi.cz/jak-zainstalowac-motyw-potomny-child-theme-w-wordpress-3559.php) lub własnej [wtyczki funkcyjnej](https://jaworowi.cz/wlasne-kody-wordpress-16834.php#Niestandardowa_wtyczka_funkcyjna). 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](https://jaworowi.cz/wlasne-kody-wordpress-16834.php).

## 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.

*Rozszerzona wersja dostępna po kontakcie ze mną ([kliknij tutaj](https://jaworowi.cz/kontakt?utm_click=post-9870&sm-properties2=wtyczka-rabat-pierwsze-zamowienie)) – 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”**](https://jaworowi.cz/dla-rabatu-udaja-nowych-klientow-madrzy-konsumenci-czy-janusze-zakupow-5437.php)[** Sprytnych kupujących**](https://jaworowi.cz/dla-rabatu-udaja-nowych-klientow-madrzy-konsumenci-czy-janusze-zakupow-5437.php) lub złego oszacowania marży zysku – zobacz **[praktyczny przewodnik po strategiach cenowych](https://jaworowi.cz/rabaty-towary-gratisowe-i-znizki-w-marketingu-kompletny-przewodnik-4325.php)**, 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](https://jaworowi.cz/przyrostowa-kopia-zapasowa-backup-wordpress-5719.php) 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](https://jaworowi.cz/jak-zainstalowac-motyw-potomny-child-theme-w-wordpress-3559.php).

`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](https://jaworowi.cz/wp-content/uploads/2018/03/20180314_032651_0001.png)

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:

Zobacz Również:
[Automatyczne stosowanie kuponu rabatowego w WooCommerce [WordPress]](https://jaworowi.cz/automatyczne-stosowanie-kuponu-rabatowego-w-woocommerce-wordpress-5079.php)
