BStudio Plugin — B2B

Trade Discount

Wersja: 1.0.0 Autor: Biegun.Studio Wymaga: WordPress 5.9+, WooCommerce 6.0+, PHP 7.2+

Automatyczne rabaty procentowe dla klientów B2B i hurtowników. Przypisz rolę — rabat działa natychmiast, bez kuponów, bez ręcznej interwencji.

Jak to działa?

Wtyczka filtruje ceny produktów WooCommerce na poziomie hooków woocommerce_product_get_price i woocommerce_get_price_html. Zalogowany użytkownik z przypisanym rabatem widzi na stronie produktu, w koszyku i kasie ceny już po zniżce — automatycznie, bez żadnych dodatkowych kroków.

149,00 zł 119,20 zł Twój rabat: 20%
Brak kuponów: Rabat jest przezroczysty dla klienta — nie musi wpisywać żadnego kodu. Wystarczy że jest zalogowany i ma odpowiednią rolę.

Instalacja

  1. Skopiuj folder bstudio-trade-discount do /wp-content/plugins/.
  2. Aktywuj wtyczkę w panelu WordPress.
  3. Przejdź do WooCommerce → Trade Discount.
  4. Kliknij + Dodaj rolę, wybierz rolę i wpisz procent rabatu.
  5. Kliknij Zapisz ustawienia.
  6. Zaloguj się jako klient z tą rolą — ceny będą już obniżone.

Konfiguracja — Panel admina

Przejdź do WooCommerce → Trade Discount.

Sekcja: Rabaty według ról

Tabela z wierszami Rola → Rabat %. Kliknij + Dodaj rolę aby dodać nowy wiersz, wybierz rolę z listy i wpisz procent (0.01–100). Aby usunąć wiersz kliknij ✕.

Ważne: Klient otrzymuje rabat przypisany do pierwszej pasującej roli na jego liście ról. Jeśli użytkownik ma role Klient i Hurtownik, stosowany jest rabat tej roli, która pojawia się pierwsza na liście.

Sekcja: Wykluczone kategorie

Multiselect z kategoriami produktów. Produkty w zaznaczonych kategoriach nie są objęte rabatem handlowym — klient widzi ceny regularne. Przydatne dla produktów objętych umowami producenta (MAP pricing) lub już przecenionych.

Sekcja: Baner rabatu

OpcjaOpis
Wyświetlaj banerWłącza zielony badge przy cenie produktu i baner informacyjny na górze koszyka/kasy.
Tekst baneraTreść banera. Użyj {discount} jako placeholder dla wartości %. Przykład: Twój rabat: {discount}% lub Cena B2B (-{discount}%).

Indywidualny rabat per klient

Możesz nadpisać rabat roli dla konkretnego użytkownika:

  1. Przejdź do Użytkownicy → Wszyscy użytkownicy.
  2. Kliknij Edytuj przy wybranym użytkowniku.
  3. Znajdź sekcję BStudio Trade Discount na dole strony profilu.
  4. Wpisz indywidualny procent rabatu (0–100) i kliknij Aktualizuj profil.

Zostaw pole puste lub wpisz 0, aby stosować rabat roli. Wpisana wartość (1–100) całkowicie nadpisuje rabat roli dla tego klienta.

Pierwszeństwo rabatów

PriorytetŹródłoOpis
1 (wyższy)Override indywidualnyPole btd_discount w user meta — ustawiane w profilu użytkownika.
2 (niższy)Rabat roliProcent przypisany do roli użytkownika w ustawieniach wtyczki.

FAQ

Czy rabat jest widoczny dla niezalogowanych klientów?

Nie. Ceny bez logowania są zawsze regularne. Rabat handlowy jest widoczny wyłącznie dla zalogowanych użytkowników z przypisanym rabatem.

Czy mogę użyć wtyczki z kuponami WooCommerce?

Tak. Rabat handlowy stosowany jest na poziomie cen produktów, a kupony WooCommerce działają na już obniżonej cenie. Mogą się stackować — miej to na uwadze konfigurując kupony.

Co się dzieje z produktami już będącymi na wyprzedaży?

Rabat handlowy jest stosowany na aktualnej cenie produktu — niezależnie od tego, czy jest to cena regularna czy już obniżona cena wyprzedaży. Klient B2B zawsze otrzymuje dodatkową zniżkę.

Czy produkty zmienne (variable) są obsługiwane?

Tak, dla wariantów produktu cena jest też odpowiednio obniżana. Na stronie produktu zmiennego wyświetlany jest zakres cen z uwzględnieniem rabatu.

Czy wtyczka działa z Block Checkout?

Tak. Ceny w Block Checkout odzwierciedlają rabat handlowy — jest on naliczany na poziomie produktu, więc wszystkie metody wyświetlania koszyka i kasy go stosują.

Struktura plików

bstudio-trade-discount/
├── bstudio-trade-discount.php ← Bootstrap, HPOS compatibility
├── uninstall.php ← Czyści wp_options i user meta
├── includes/
│ └── class-btd-pricing.php ← Filtry cen, price HTML, badge, enqueue
├── admin/
│ ├── class-btd-admin.php ← Menu, zapis ustawień, pole profilu
│ ├── views/
│ │ └── settings.php ← Formularz HTML strony ustawień
│ └── assets/
│ ├── btd-admin.css
│ └── btd-admin.js ← Dynamiczna tabela ról
└── public/
    └── btd-frontend.css ← Style badge i banera koszyka

Dane techniczne

ParametrWartość
Opcja settingsbtd_settings (wp_options, JSON array)
User metabtd_discount (float, 0–100)
Hooki cenwoocommerce_product_get_price, woocommerce_product_get_sale_price, warianty analogicznie
Hook HTMLwoocommerce_get_price_html
PodatekCeny z uwzględnieniem ustawień VAT (incl/excl tax) z WooCommerce
HPOSKompatybilny (deklaracja FeaturesUtil)

Wsparcie i zgłoszenia

Masz pytanie, napotkałeś problem albo chcesz rozwinąć to rozwiązanie pod swój sklep? Pomożemy.

Pomoc techniczna

Problemy z instalacją, konfiguracją lub działaniem wtyczki — opisz zgłoszenie, a wrócimy z rozwiązaniem.

Zgłoszenie (ticket)

Wyślij e-mail na shop@biegun.studio. W temacie podaj nazwę wtyczki i krótki opis. Dołącz wersje WordPressa, WooCommerce i PHP oraz kroki odtworzenia problemu.

Rozwój i modyfikacje

Potrzebujesz dodatkowej funkcji albo integracji? Realizujemy rozszerzenia i wdrożenia na zamówienie — napisz na shop@biegun.studio.

Pełna oferta wtyczek: biegun.studio/sklep