Jak dodać rabat na podstawie ilości sztuk w WooCommerce?

Spis treści
jak dodac rabat na podstawie ilosci sztuk w woocommerce

Wielu właścicieli sklepów WooCommerce szuka sposobu na zwiększenie sprzedaży poprzez oferowanie rabatów ilościowych. Dzięki takim zniżkom klienci są zachęcani do zakupu większej liczby produktów, co zwiększa wartość zamówień. W tym artykule pokażemy krok po kroku, jak dodać rabat na podstawie ilości sztuk w WooCommerce oraz jak dostosować go do swoich potrzeb.

Dowiesz się, jak bezpłatnie wprowadzić taką modyfikację w motywie potomnym za pomocą edytora plików motywu dostępnego w panelu administracyjnym WordPress, co pozwoli na tworzenie promocji w oparciu o ilość produktów w koszyku i przyznawanie rabatu hurtowego w WooCommerce. Kod rabatowy został przystosowany do poprawnego działania z uwzględnieniem podatku VAT, co oznacza, że rabat jest naliczany od ceny brutto produktu, bez wpływu na kwotę wysyłki.

1. Jak działa rabat na podstawie ilości sztuk w WooCommerce?

Kod PHP który przygotowaliśmy pozwala automatycznie naliczać rabat w koszyku WooCommerce na podstawie liczby sztuk produktu. Przyznawana zniżka opiera się domyślnie na trzech progach: 10, 25 i 50 sztuk, a jej wysokość wynosi kolejno 5%, 15% i 25%. Progi można dowolnie modyfikować, również dodając je lub usuwając. Główne cechy działania kodu to:

  • Rabat na produkty bez kwoty wysyłki: Zniżka naliczana jest tylko od wartości produktów w koszyku, bez uwzględnienia kosztu wysyłki.
  • Uwzględnienie podatku VAT: Kod działa z kwotą brutto (z VAT), dzięki czemu wysokość rabatu liczona jest od pełnej wartości zamówienia.
  • Rabat na wszystkie produktu: Po wdrożeniu kodu zniżki hurtowe na podstawie ilości sztuk będą dostępne na każdym produkcie w twoim sklepie WooCommerce.

Kod automatycznie dodaje informację o rabacie na stronie produktu oraz obliczoną kwotę zniżki w koszyku, dzięki czemu klient widzi od razu, ile oszczędza. Jeśli klient zbliża się do jednego z progów rabatowych, na stronie produktu pojawi się komunikat, który zachęca go do dodania jeszcze kilku sztuk, aby osiągnąć kolejny próg zniżki.

Komunikat o zniżce i zbliżającym się progu rabatowym na stronie produktu WooCommerce
jak dodać rabat na podstawie ilości sztuk w woocommerce
Widok koszyka WooCommerce z automatycznym rabatem na podstawie ilości sztuk

2. Jak dodać rabat ilościowy do sklepu WooCommerce?

Aby dodać rabat hurtowy na podstawie ilości sztuk w WooCommerce, najlepiej wkleić go w functions.php w motywie potomnym. Jeśli nie masz jeszcze motywu potomnego, zachęcamy do odwiedzenia naszego poradnika. Poniżej wyjaśnimy, jak to zrobić za pomocą edytora plików motywu dostępnego w panelu WordPress.

Krok 1: Przejdź do edytora plików motywu w panelu WordPress
W panelu WordPress przejdź do zakładki Wygląd > Edytor plików motywu. Następnie, jeśli posiadasz aktywny motyw potomny, wybierz po prawej stronie z plików motywu „Funkcje motywu”

Krok 2: Wklej poniższy kod na dole pliku functions.php
Przewiń plik functions.php na sam dół, a następnie skopiuj poniższy kod i wklej go na końcu pliku. Po wklejeniu kodu zapisz zmiany, klikając przycisk Aktualizuj plik.

Krok 3: Sprawdź działanie domyślnego kodu
Wyczyść pliki Cache i przetestuj działanie kodu w pierwotnej wersji w twoim sklepie WooCommerce, zwróć uwagę na obliczanie rabatów czy wyświetlanie komunikatów oraz uwzględnianie podatku VAT.

Krok 4: Dostosuj rabat hurtowy pod swoje potrzeby
Korzystając z dalszej części poradnika dostosuj modyfikację pod swoje potrzeby i sprawdź jej działanie.

				
					/**
 * Autor: Greatsite.pl 
 * Funkcjonalność: Rabat na podstawie ilości sztuk w WooCommerce.
 */

define('DISCOUNTS', [
    10 => 5,  // 10 sztuk - 5% rabatu
    25 => 15, // 25 sztuk - 15% rabatu
    50 => 25, // 50 sztuk - 25% rabatu
]);

function gr8_custom_quantity_based_discount_in_cart() {
    if ( ! class_exists( 'WooCommerce' ) ) return;

    $woocommerce = WC();
    $total_quantity = 0;
    $total_brutto = 0;
    $cart_items = $woocommerce->cart->get_cart();

    foreach ( $cart_items as $cart_item ) {
        $total_quantity += $cart_item['quantity'];
        $total_brutto += $cart_item['line_total'];
    }

    $discount_percentage = 0;
    $discount_description = '';

    foreach ( DISCOUNTS as $threshold => $percentage ) {
        if ( $total_quantity >= $threshold ) {
            $discount_percentage = $percentage;
            $discount_description = sprintf('Zniżka: -%d%% za %d sztuk produktu', $discount_percentage, $total_quantity);
        }
    }

    if ( $discount_percentage > 0 ) {
        $discount = round( $total_brutto * ( $discount_percentage / 100 ), 4 );
        $woocommerce->cart->add_fee( $discount_description, -$discount );
    }
}

add_action( 'woocommerce_cart_calculate_fees', 'gr8_custom_quantity_based_discount_in_cart' );

function gr8_custom_discount_message() {
    global $product, $woocommerce;

    if ( ! class_exists( 'WooCommerce' ) ) return;

    $total_quantity = 0;
    $cart_items = $woocommerce->cart->get_cart();

    foreach ( $cart_items as $cart_item ) {
        if ( $cart_item['product_id'] == $product->get_id() ) {
            $total_quantity += $cart_item['quantity'];
        }
    }

    $next_threshold = null;
    $discount_percentage = 0;

    foreach (DISCOUNTS as $threshold => $percentage) {
        if ($total_quantity < $threshold) {
            $next_threshold = $threshold;
            $discount_percentage = $percentage;
            break;
        }
    }

    if ( !is_null( $next_threshold ) ) {
        echo '<div class="woocommerce-info">';
        echo sprintf('Kup jeszcze %d sztuk, aby otrzymać %d%% zniżki!', ($next_threshold - $total_quantity), $discount_percentage);
        echo '</div>';
    }
}

add_action( 'woocommerce_before_add_to_cart_form', 'gr8_custom_discount_message' );

				
			

3. Jak dostosować rabat hurtowy WooCommerce w oparciu o ilości sztuk produktu?

Kod napisaliśmy i zoptymalizowaliśmy w taki sposób aby jego edycja była możliwie jak najprostsze i najbardziej intuicyjna. Dzięki elastycznej strukturze, możesz łatwo dostosować ustawienia rabatowe do własnych potrzeb, a także zmodyfikować opisy zniżek, które będą widoczne w koszyku.

Zmiana progów rabatowych:

Progi rabatów możesz łatwo ustawić według komentarza w tablicy „discounts”. 

				
					define('DISCOUNTS', [
    10 => 5,  // 10 sztuk - 5% rabatu
    25 => 15, // 25 sztuk - 15% rabatu
    50 => 25, // 50 sztuk - 25% rabatu
]);
				
			

Aby dodać lub zmienić próg, zaktualizuj liczbę sztuk lub procent rabatu:

  • Dodanie nowego progu: Dodaj nową linię, np. 75 => 30, aby przy 75 sztukach obowiązywał rabat 30%.
  • Zmiana procentu rabatu: Zaktualizuj wartości procentowe, np. zmień 5 na 7, aby przy 10 sztukach rabat wynosił 7%.

Możesz też zmienić komunikaty wyświetlane zarówno na stronie produktu jak i w podsumowaniu zamówienia, w tym celu należy odszukać dany string (ciąg znaków) i zmienić go na własną wartość.

4. Podsumowanie

Modyfikacja przedstawiona w tym artykule wprowadza automatyczny rabat hurtowy oparty na ilości sztuk w WooCommerce, co może znacząco zwiększyć sprzedaż, zachęcając klientów do zakupu większej liczby produktów. Kod działa z uwzględnieniem podatku VAT, naliczając zniżkę wyłącznie na wartość produktów, bez wpływu na koszty wysyłki. Zalecamy przetestowanie poprawnego działania kodu po wdrożeniu, bądź zlecenie dostosowania i wdrożenia kodu specjaliście.

Wprowadzenie rabatów na podstawie ilości sztuk to skuteczna strategia, która może przyczynić się do większej lojalności klientów i zwiększenia wartości zamówień.

5. Masz problem z modyfikacją kodu? Chcesz dodać inną funkcjonalność - pomożemy!

Inne wpisy z tej kategorii

najlepsze darmowe wtyczki woocommerce w 2024 roku

Top 15: Najlepsze darmowe wtyczki do sklepu WooCommerce w 2024 roku