Użycie
Ten przewodnik prowadzi od świeżej instalacji do działającego przycisku Kup teraz, a potem opisuje shortcode, wygląd przycisku i hooki dla programistów.
1. Włącz i opisz przycisk
Dział zatytułowany „1. Włącz i opisz przycisk”Otwórz WooCommerce > Buy Now Button, zostaw włączone Enable Buy Now i ustaw etykietę przycisku (Button label). Puste pole oznacza Kup teraz w języku witryny. Podgląd na stronie ustawień zmienia się podczas pisania.
2. Wybierz miejsce i przekierowanie
Dział zatytułowany „2. Wybierz miejsce i przekierowanie”Wybierz, gdzie ma się pojawiać przycisk: karta produktu, listy sklepu lub oba miejsca. Na karcie produktu zdecyduj, czy stoi przed czy po przycisku dodawania do koszyka. W polu Redirect to zostaw Checkout (skip the cart), czyli kasę z pominięciem koszyka. To ustawienie domyślne i najczęstsze. Pozostałe opcje to Cart (koszyk) i Custom page on this site (własna strona). Własny adres musi prowadzić do Twojej witryny; adres spoza niej albo puste pole kieruje klienta do kasy.
3. Zdecyduj o czyszczeniu koszyka i ilości
Dział zatytułowany „3. Zdecyduj o czyszczeniu koszyka i ilości”- Zostaw włączone Empty the cart first (najpierw wyczyść koszyk), jeśli Kup teraz ma znaczyć “kup tylko ten produkt”. Wyłącz, aby zachować to, co już jest w koszyku.
- Zostaw włączone Respect quantity (uwzględnij ilość), jeśli klient ustawiający ilość 3 ma kupić trzy sztuki. Po wyłączeniu Kup teraz kupuje dokładnie jedną sztukę. Dotyczy tylko karty produktu prostego. Opcja jest włączona w nowych instalacjach; sklepy zaktualizowane z wersji starszej niż 1.1.0, które nigdy nie zapisały tego ustawienia, mają ją wyłączoną, dopóki jej nie włączysz.
4. Sprawdź na sklepie
Dział zatytułowany „4. Sprawdź na sklepie”Otwórz prosty, dostępny produkt. Przycisk Kup teraz pojawia się obok dodawania do koszyka. Na karcie produktu to drugi przycisk wysyłający w formularzu koszyka WooCommerce (formmethod="post"), więc pole ilości idzie razem z nim. Na liście sklepu i w shortcodzie to mały formularz GET, który wysyła id produktu i nonce na adres produktu. W obu przypadkach Swift dodaje produkt i przekierowuje do wybranego celu. Produkty niedostępne, niekupowalne i wariantowe nie mają przycisku.
Umieszczanie przycisku shortcodem
Dział zatytułowany „Umieszczanie przycisku shortcodem”Gdy chcesz mieć Kup teraz tam, gdzie nie sięgają automatyczne miejsca (strona sprzedażowa, blok, własny układ), użyj shortcode’a:
[swift_buy_now][swift_buy_now id="123"]| Atrybut | Domyślnie | Znaczenie |
|---|---|---|
id |
0 |
ID produktu. 0 lub brak atrybutu oznacza bieżący wpis, np. w szablonie produktu. |
To jedyny atrybut. Shortcode nic nie wyświetla, gdy Kup teraz jest wyłączony, gdy produktu nie ma, jest niedostępny lub niekupowalny, oraz dla produktów wariantowych. Przycisk z shortcode’a korzysta z tego samego szablonu i danych co przycisk dodawany automatycznie. Arkusz stylów ładuje się dopiero wtedy, gdy shortcode coś wyświetli, więc zwykłe strony bez przycisku nie ładują nic dodatkowego.
Co się dzieje po kliknięciu
Dział zatytułowany „Co się dzieje po kliknięciu”Swift przechwytuje żądanie na template_redirect (priorytet 5), gdy jest w nim klucz swift_buy_now, i wtedy:
- Sprawdza nonce (akcja
swift_buy_now). Wygasły nonce, np. z buforowanej strony, daje komunikat o zbyt długo otwartej stronie, a przeładowana strona ma już świeży nonce. - Ponownie sprawdza, czy produkt istnieje, jest kupowalny, dostępny i nie jest wariantowy.
- Bierze ilość z formularza tylko przy włączonym Respect quantity; w przeciwnym razie 1.
- Czyści koszyk, jeśli włączone jest Empty the cart first, i dodaje produkt.
- Jeśli dodanie się nie uda (stan magazynu, walidacja), przywraca poprzednią zawartość koszyka i kupony oraz pokazuje komunikat, że produktu nie udało się dodać. Klient niczego nie traci.
- Ustala adres z Redirect to, przepuszcza go przez filtr opisany niżej i przekierowuje przez
wp_safe_redirect().
Czyszczenie koszyka nie ma filtra, steruje nim wyłącznie ustawienie Empty the cart first (clear_cart, domyślnie włączone).
Typowe scenariusze
Dział zatytułowany „Typowe scenariusze”- Strona jednego produktu. Ustaw przekierowanie na kasę, zostaw czyszczenie koszyka i wstaw
[swift_buy_now id="123"]pod tekstem sprzedażowym. Jedno kliknięcie prowadzi prosto do płatności. - Skrót obok dodawania do koszyka. Zostaw dodawanie do koszyka jako główny przycisk, ustaw Kup teraz po nim i wyłącz czyszczenie koszyka, aby klienci nadal mogli zbierać kilka produktów w zwykły sposób.
- Szybki zakup z katalogu. Włącz miejsce na liście sklepu, aby zdecydowani klienci kupowali produkt prosty bezpośrednio z siatki. Siatki produktów zbudowane z bloków też dostają przycisk, po każdym bloku Add to cart.
Wygląd przycisku w CSS
Dział zatytułowany „Wygląd przycisku w CSS”Przycisk korzysta z sześciu zmiennych CSS ustawionych na elemencie .swift-buy-now. Nadpiszesz je w arkuszu stylów motywu:
| Zmienna | Domyślnie | Co zmienia |
|---|---|---|
--swift-accent-color |
#5b3df5 |
Wypełnienie i obramowanie stylów pełnego i obrysu, efekt kliknięcia |
--swift-accent-contrast-color |
#fff |
Kolor tekstu w stylu pełnym |
--swift-button-radius |
6px |
Zaokrąglenie rogów |
--swift-button-gap |
0.5em |
Odstęp między Kup teraz a dodawaniem do koszyka |
--swift-button-transition |
150ms cubic-bezier(0.2, 0.8, 0.2, 1) |
Czas animacji najechania i kliknięcia |
--swift-button-thrust |
3px |
Jak daleko etykieta przesuwa się przy kliknięciu |
.swift-buy-now { --swift-accent-color: #0a7c3f; --swift-accent-contrast-color: #fff; --swift-button-radius: 4px; --swift-button-gap: 0.75em;}Ustawiaj je na .swift-buy-now, nie na samym przycisku, bo to ten element je odczytuje. Accent colour zapisany w ustawieniach trafia na ten sam element jako --swift-accent i wygrywa z --swift-accent-color z motywu. Styl Theme default dziedziczy wygląd .button z motywu i ignoruje akcent. Ciemny schemat kolorów, obwódka focus-visible i obsługa prefers-reduced-motion są wbudowane. Szablonu przycisku nie da się nadpisać w motywie, znaczniki są we wtyczce.
Zmiana przekierowania (dla programistów)
Dział zatytułowany „Zmiana przekierowania (dla programistów)”Przed przekierowaniem Swift przepuszcza docelowy adres przez filtr:
apply_filters( 'wppoland_direct_checkout_redirect_url', string $url, WC_Product $product, string $request_key );| Argument | Wartość |
|---|---|
$url |
Adres z Redirect to: kasa, koszyk lub własna strona w witrynie |
$product |
Właśnie dodany produkt |
$request_key |
swift_buy_now dla darmowego przycisku |
add_filter( 'wppoland_direct_checkout_redirect_url', function ( string $url, WC_Product $product, string $request_key ): string { // Jeden produkt kieruje do własnej kasy na jednej stronie. if ( 'swift_buy_now' === $request_key && $product->get_id() === 123 ) { return home_url( '/express/' ); }
return $url;}, 10, 3 );Adres po filtrze i tak przechodzi przez wp_validate_redirect() z kasą jako wartością zapasową. Adres w innej domenie kończy się więc na kasie, chyba że dopuścisz tego hosta filtrem allowed_redirect_hosts. Swift Pro podpina się pod ten sam filtr ze swoją regułą przekierowania dla poszczególnych produktów i wywołuje go we własnym handlerze produktów wariantowych z kluczem swift_pro_buy_now. Sprawdzaj $request_key, jeśli Twój kod ma działać tylko dla jednego z nich.
Pozostałe hooki
Dział zatytułowany „Pozostałe hooki”| Hook | Typ | Argumenty | Kiedy |
|---|---|---|---|
swift/booted |
akcja | Swift\Plugin $plugin |
Po zarejestrowaniu wszystkich hooków Swift; tu może startować kod dodatków |
swift/show_pro_cta |
filtr | bool $show (domyślnie true) |
Zwróć false, aby ukryć promocję Swift Pro w panelu |
swift/pro_url |
filtr | string $url |
Zmienia link używany w tej promocji |
Czego Swift nie robi
Dział zatytułowany „Czego Swift nie robi”Darmowa edycja obsługuje produkty proste. Produkt wariantowy wymaga wyboru wariantu, więc przycisk nie pojawia się przy nim ani na karcie, ani na liście, a shortcode nic dla niego nie wyświetla. Swift Pro dodaje Kup teraz dla produktów wariantowych z wyborem wariantu.
Wydajność i dostępność
Dział zatytułowany „Wydajność i dostępność”Przycisk jest renderowany po stronie serwera i stoi w normalnym układzie strony, więc nie powoduje przeskoku układu. W sklepie Swift ładuje jeden mały arkusz stylów i żadnego JavaScriptu: na stronach sklepu, koszyka i kasy, gdy funkcja jest włączona, a gdzie indziej tylko tam, gdzie przycisk się wyświetlił. Ilość z karty produktu nie potrzebuje skryptu, bo przycisk wysyła formularz koszyka, w którym stoi. Podpowiedzi ? w panelu obsłużysz klawiaturą, a z ich treścią wiąże je aria-describedby.
Kup teraz w Cartdock i Peek
Dział zatytułowany „Kup teraz w Cartdock i Peek”- Przyklejony pasek Cartdock. Gdy pole Swifta w Cartdock jest zaznaczone, produkty proste pokazują Kup teraz w pasku obok Dodaj do koszyka.
- Szybki podgląd Peek. Gdy produkt otwiera się w szybkim podglądzie Peek, Kup teraz prowadzi prosto do kasy, jak na stronie produktu, a Dodaj do koszyka nadal dodaje produkt z poziomu podglądu, bez opuszczania sklepu. Wymaga Peek 1.1.4 lub nowszego: starsze wersje Peek zamieniały Kup teraz w zwykłe dodanie do koszyka.