Warianty produktów w WooCommerce – co to jest?

Warianty produktów (product variations) w WooCommerce to funkcja pozwalająca sprzedawać jeden produkt w wielu konfiguracjach na tej samej karcie produktu. Klient wybiera rozmiar, kolor lub inną cechę, a WooCommerce automatycznie wyświetla odpowiednią cenę, dostępność i umożliwia dodanie do koszyka.

Atrybuty, wartości i warianty – jak to działa?

Warianty są budowane z atrybutów. Atrybut to cecha produktu, np. “Rozmiar” lub “Kolor”. Atrybut “Rozmiar” może mieć wartości: “S”, “M”, “L”, “XL”. Atrybut “Kolor”: “Czarny”, “Biały”, “Niebieski”.

Wariant to konkretna kombinacja wartości atrybutów – np. “Rozmiar M + Kolor Czarny”. Każdy wariant może mieć własną cenę, stan magazynowy, SKU i zdjęcie.

Ważne rozróżnienie: atrybut to kategoria (“Rozmiar”), wartość atrybutu to opcja (“L”), a wariant to gotowy do zakupu produkt (“Koszulka w rozmiarze L w kolorze czarnym”). Przy konfigurowaniu sklepu warto trzymać te pojęcia osobno – błędne rozumienie prowadzi do nieprawidłowej struktury produktów.

Jak warianty są przechowywane w bazie danych?

Każdy wariant jest zapisywany jako osobny wpis w bazie danych WordPress, typ product_variation w tabeli wp_posts. Produkt z 50 wariantami oznacza więc co najmniej 51 wpisów: produkt główny plus warianty. Do tego dochodzą metadane wariantów, atrybuty, ceny, stany magazynowe i inne informacje przechowywane w powiązanych tabelach.

Ta architektura ma istotne konsekwencje wydajnościowe. Przy dużej liczbie wariantów rośnie liczba rekordów i metadanych, które WooCommerce musi obsłużyć. Ładowanie karty produktu z setkami wariantów może być wolne, szczególnie na słabszym hostingu przy dynamicznym przeliczaniu opcji.

Limit generowania wariantów

Domyślny interfejs WooCommerce generuje maksymalnie 50 wariantów na jedno uruchomienie. To ograniczenie ochronne – masowe generowanie wariantów to operacja obciążająca serwer (pamięć RAM, czas wykonania skryptu PHP). Limit można podnieść przez stałą WC_MAX_LINKED_VARIATIONS w pliku wp-config.php, ale wymaga to wydajnej infrastruktury i warto upewnić się, że serwer jest gotowy na takie obciążenie.

Po przekroczeniu pewnego progu wariantów WooCommerce zmienia sposób ich ładowania na stronie: zamiast natychmiastowego wyświetlania wszystkich opcji przechodzi na zapytania AJAX w tle. Strona może wtedy reagować wolniej przy zmianie atrybutów przez klienta. Precyzyjny próg zależy od wersji WooCommerce i konfiguracji serwera.

Warianty a Product Addons

Wariantów produktów nie należy mylić z Product Addons – opcjami w formie pól tekstowych, list wyboru lub checkboxów. Addony pozwalają np. dodać grawerowanie na biżuterii, wybrać kolor nici do haftu albo wpisać dedykację. Nie mają własnego stanu magazynowego i nie tworzą nowych rekordów bazodanowych w taki sam sposób jak warianty.

Przy bardzo złożonych konfiguratorach (np. meble na zamówienie z dziesiątkami parametrów) warto rozważyć dedykowane wtyczki zamiast standardowych wariantów WooCommerce. Redukuje to obciążenie bazy danych i przyspiesza ładowanie kart produktów.

Warianty w koszyku

Gdy klient dodaje wariant do koszyka, WooCommerce zapisuje pełną specyfikację wyboru, np. Rozmiar: L, Kolor: Czarny, jako odrębną pozycję zamówienia. Każdy wariant może mieć inną cenę, SKU, stan magazynowy i ustawienia dziedziczone z produktu nadrzędnego albo skonfigurowane osobno. System podatkowy WooCommerce oblicza należny VAT na podstawie ustawień podatkowych produktu lub wariantu oraz konfiguracji sklepu.

Podsumowanie

Warianty produktów WooCommerce umożliwiają sprzedaż jednego produktu w wielu konfiguracjach na jednej karcie. Każdy wariant to osobny rekord bazodanowy – przy dużej liczbie wariantów wpływa to na wydajność sklepu. Warto optymalizować liczbę wariantów i przy rozbudowanych konfiguratorach rozważać dedykowane rozwiązania zamiast standardowych wariantów WooCommerce.