Konfiguracja
Pair Pro przechowuje ustawienia w opcji pair_pro_settings. Strona ustawień znajduje się pod WooCommerce → Pair Pro i wymaga uprawnienia manage_woocommerce.
Ustawienia
Dział zatytułowany „Ustawienia”- Enable (
enabled), główny przełącznik. Gdy wyłączony, blok nie jest renderowany. - Heading (
heading), nagłówek nad blokiem, domyślnie “Frequently bought together”. Puste pole ukrywa nagłówek. - Products (
count), liczba pokazywanych produktów, ograniczona do zakresu 1-6, domyślnie 3. - Columns (
columns), liczba kolumn siatki, ograniczona do zakresu 1-6, domyślnie 3. - Add all to cart (
add_all), pokazuje przycisk dodający cały zestaw do koszyka jednym kliknięciem. - In stock only (
in_stock_only), pokazuje wyłącznie produkty dostępne w magazynie. - Orders to analyse (
scan_orders), liczba najnowszych opłaconych zamówień skanowanych pod kątem współzakupów, ograniczona do zakresu 20-1000, domyślnie 150. - Bundle discount (
bundle_discount), procent rabatu, gdy cały zestaw trafi do koszyka, ograniczony do zakresu 0-90, domyślnie 0, czyli bez rabatu.
Ustawienia rekomendacji
Dział zatytułowany „Ustawienia rekomendacji”- Manual curation (
manual_enabled), domyślnie włączone, dodaje metabox Pair recommendations w edytorze produktu. - Curation mode (
manual_mode),prepend(ręczne wybory prowadzą, automat uzupełnia resztę) alboreplace(tylko ręczne wybory). Domyślnieprepend. - Category rules (
rules_enabled,category_rules), domyślnie wyłączone. Do 6 reguł w formie „gdy kategoria A, pokaż kategorię B”. - A/B testing (
ab_enabled), domyślnie wyłączone, wraz ze strategią wariantu B (ab_strategy_b):related,tags,bestsellersalbonewest. Domyślniebestsellers. - Analytics (
analytics_enabled), domyślnie włączone, zapisuje wyświetlenia, kliknięcia i dodania do koszyka przypisane do kliknięcia. - Thank-you page (
place_thankyou), domyślnie włączone, oraz Checkout (place_checkout), domyślnie wyłączone, ze wspólnym nagłówkiem Placement heading (place_heading), domyślnie “You may also like”.
Rabat na zestaw
Dział zatytułowany „Rabat na zestaw”Po użyciu przycisku Add all to cart identyfikatory produktów zestawu trafiają do sesji WooCommerce. Przy każdym przeliczaniu opłat (woocommerce_cart_calculate_fees) Pair Pro sprawdza, czy wszystkie produkty z zestawu nadal są w koszyku, i jeśli tak, dolicza procent jako ujemną opłatę koszyka. Usunięcie któregokolwiek z nich kasuje rabat przy najbliższym przeliczeniu i czyści zapamiętany zestaw.
Ręczny wybór rekomendacji
Dział zatytułowany „Ręczny wybór rekomendacji”Przy włączonej kuracji edytor produktu dostaje metabox Pair recommendations, w którym wskazujesz produkty dla tego konkretnego produktu. Wybór ląduje w meta _pair_manual_recommendations i wchodzi przez filtr pair/recommendations darmowej wtyczki, więc dotyczy bloku „You may also like” na karcie produktu. prepend stawia Twoje wybory na początku i pozwala automatowi uzupełnić resztę miejsc, replace pokazuje wyłącznie Twoje wybory.
Reguły kategorii
Dział zatytułowany „Reguły kategorii”Reguła znaczy „gdy produkt jest w kategorii A, polecaj produkty z kategorii B”. Reguły są globalne, ustawiane na stronie ustawień, maksymalnie sześć, i wchodzą na karcie produktu przez ten sam filtr pair/recommendations, prowadząc automatyczne propozycje.
Dodatkowe miejsca
Dział zatytułowany „Dodatkowe miejsca”Poza blokami darmowej wtyczki (karta produktu i koszyk) Pair Pro renderuje rekomendacje na stronie podziękowania za zamówienie (woocommerce_thankyou, priorytet 20) i pod formularzem zamówienia (woocommerce_after_checkout_form, priorytet 20). Oba miejsca korzystają z rekomendera darmowej wtyczki i tego samego markupu .pair-recommendations z atrybutem data-pair-context, więc style motywu i analityka działają bez zmian.
Blok do edytora
Dział zatytułowany „Blok do edytora”Pair Pro rejestruje blok renderowany po stronie serwera, Pair Recommendations (pair-pro/recommendations), do edytora bloków i szablonów FSE. Atrybuty: heading (domyślnie “You may also like”), strategy (related, tags, bestsellers albo newest, domyślnie related) i count (domyślnie 4). Blok obsługuje szerokie i pełne wyrównanie, a renderuje się przez rekomender darmowej wtyczki z kontekstem block.
Testy A/B
Dział zatytułowany „Testy A/B”Każdy odwiedzający dostaje stały wariant w ciasteczku pair_pro_ab (30 dni, SameSite=Lax), losowany przy pierwszej wizycie. Wariant A zostaje przy ustawionej strategii karty produktu, wariant B podmienia ją na ab_strategy_b przez filtr pair/recommendations. Skrypt analityki dokleja wariant do kontekstu miejsca, więc panel pokazuje You may also like (variant A) i (variant B) jako osobne wiersze i możesz je porównać obok siebie.
Analityka
Dział zatytułowany „Analityka”Skrypt na froncie zgłasza wyświetlenia i kliknięcia do endpointu REST (pair-pro/v1/track). Gdy kliknięty produkt trafi później do koszyka, ciasteczko kliknięcia (pair_pro_clicked) pozwala przypisać to dodanie do rekomendacji. Liczniki są agregowane przy zapisie w jednej tabeli {prefix}pair_pro_stats, per dzień, miejsce i produkt, więc tabela zostaje mała.
WooCommerce → Pair Pro Analytics pokazuje wyświetlenia, kliknięcia i konwersje przypisane do kliknięcia w podziale na miejsca, w wybranym zakresie dat, domyślnie ostatnie 30 dni. Miejsca są raportowane osobno: You may also like (karta produktu), cross-sell w koszyku, często kupowane razem, strona podziękowania, kasa, blok oraz oba warianty testu A/B.
Atrybucja opiera się na kliknięciu i jest przybliżona. Traktuj ją jako sygnał kierunkowy, które miejsce zbiera uwagę, a nie jako księgowanie przychodu.
Jak działa analiza zamówień
Dział zatytułowany „Jak działa analiza zamówień”Na potrzeby bloku Pair Pro pobiera najnowsze zamówienia o statusach zrealizowane i przetwarzane (do limitu scan_orders), wybiera te zawierające oglądany produkt i zlicza, jak często inne produkty występują w tych samych zamówieniach. Pozycje wariantów są przypisywane do produktu nadrzędnego, więc warianty tego samego produktu składają się na jedną rekomendację.
Ranking (do 12 pozycji) jest zapisywany w transiencie pair_pro_fbt_<id> na 12 godzin per produkt. Skan zamówień uruchamia się tylko przy braku cache, więc nowe zamówienia pojawiają się w wynikach po wygaśnięciu transientu. Zamówienia są odczytywane przez API zamówień WooCommerce, zgodne z HPOS.
Renderowanie bloku
Dział zatytułowany „Renderowanie bloku”Blok renderuje się na haku woocommerce_after_single_product_summary z priorytetem 14, czyli tuż nad darmowym blokiem “You may also like” (priorytet 15). Siatka używa pętli produktów WooCommerce i dziedziczy karty produktu aktywnego motywu oraz klasy .pair-recommendations z darmowej wtyczki, z modyfikatorem pair-recommendations--bought-together.
Pokazywane są tylko produkty opublikowane i widoczne w katalogu. Przy włączonym In stock only wyniki są dodatkowo filtrowane do produktów dostępnych. Gdy po filtrach lista jest pusta, blok w ogóle się nie renderuje. Wtyczka dodaje na karcie produktu mały arkusz stylów. Sam blok nie potrzebuje JavaScriptu; przy włączonej analityce dochodzi jeden mały skrypt zgłaszający wyświetlenia i kliknięcia.
Przycisk “Add all to cart”
Dział zatytułowany „Przycisk “Add all to cart””Przy włączonym add_all pod siatką pojawia się formularz POST z ukrytą listą ID produktów i tokenem nonce. Po kliknięciu Pair Pro dodaje do koszyka każdy produkt z zestawu, który jest możliwy do kupienia i dostępny, pokazuje standardowy komunikat WooCommerce o dodaniu do koszyka i wraca na poprzednią stronę. Przycisk działa bez JavaScriptu.
Przechowywanie i odinstalowanie
Dział zatytułowany „Przechowywanie i odinstalowanie”Pair Pro zapisuje:
pair_pro_settingspair_pro_versionpair_pro_activated_atpair_pro_db_version- transienty cache
pair_pro_fbt_<id> - tabelę analityki
{prefix}pair_pro_stats - meta
_pair_manual_recommendationsprzy produktach wybieranych ręcznie
Usunięcie wtyczki kasuje wszystko: cztery opcje, wszystkie transienty pair_pro_fbt_*, meta _pair_manual_recommendations i tabelę {prefix}pair_pro_stats, po kolei na każdej witrynie w sieci. Freemius sam śledzi zdarzenie odinstalowania i odrzuca wtyczki dostarczające skrypt uninstall.php, więc sprzątanie działa na haku SDK after_uninstall. Jeśli dane mają zostać, zwróć false z filtra pair-pro/uninstall/delete_data we wtyczce mu-plugin, która ładuje się przed sprzątaniem.
Na froncie wtyczka ustawia dwa ciasteczka: pair_pro_ab (30 dni, SameSite=Lax, stały wariant testu A/B, tylko przy włączonych testach) i pair_pro_clicked (30 minut, SameSite=Lax, identyfikatory klikniętych produktów na potrzeby atrybucji, tylko przy włączonej analityce). Oba trzymają identyfikatory produktów albo jedną literę, bez danych osobowych.