Przejdź do głównej zawartości

Jak działa ponowne zamówienie

To przejście prowadzi klienta od historii zamówień do napełnionego koszyka i wyjaśnia, co Ripeto robi na każdym kroku.

Zalogowany klient otwiera Moje konto > Zamówienia. Przy każdym minionym zamówieniu o statusie, który włączyłeś (domyślnie Zrealizowane), znajduje się przycisk ponownego zamówienia z Twoją etykietą, np. Zamów ponownie. Mieści się w standardowym obszarze akcji zamówienia WooCommerce, więc nie przesuwa układu ani nie dodaje osobnego widżetu. Nie ma ustawienia miejsca: przycisk pojawia się wszędzie tam, gdzie WooCommerce renderuje ten filtr. To lista zamówień, a od WooCommerce 10.9 także widok pojedynczego zamówienia, bo order-details.php wywołuje teraz to samo wc_get_account_orders_actions(). Ripeto ukrywa go tylko na ekranie potwierdzenia zamówienia, gdzie ponowne zamówienie właśnie złożonego zamówienia nie ma sensu. Własny arkusz stylów wtyczki ładuje się wyłącznie na liście zamówień, więc w widoku pojedynczego zamówienia przycisk przejmuje domyślny styl akcji z Twojego motywu.

Po kliknięciu Ripeto czyta pozycje tego zamówienia i dodaje z powrotem do koszyka każdą wciąż dostępną, jedną akcją, wraz z ilościami. Bez przeklikiwania pojedynczych kart produktów.

Niektóre produkty ze starego zamówienia mogą już nie być kupowalne, usunięte, ukryte lub niedostępne. Ripeto je pomija i dodaje całą resztę. Klient widzi wtedy wyraźny komunikat z nazwami dokładnie tych produktów, których nie udało się dodać, więc nic nie zawodzi po cichu, a koszyk się nie psuje. Klient decyduje, czy kontynuować z tym, co dodano, czy znaleźć alternatywę.

Jeśli pierwotne zamówienie zawierało konkretny wariant, powiedzmy czarną bluzę w rozmiarze M, Ripeto dodaje dokładnie ten wariant, a nie tylko produkt nadrzędny. Klient nie musi ponownie wybierać rozmiaru i koloru.

Po dodaniu pozycji klient jest przekierowany zgodnie z ustawieniem celu przekierowania, do koszyka, by przejrzeć i poprawić, albo prosto do kasy, dla najszybszego powtórnego zakupu.

Ripeto jest zbudowany tak, by klient mógł ponownie zamówić wyłącznie własne zamówienia:

  • Chronione nonce. Każdy link niesie nonce, więc nie da się go podrobić ani odtworzyć z innego miejsca.
  • Sprawdzanie właściciela. Zanim cokolwiek doda, handler weryfikuje, że bieżący zalogowany użytkownik jest właścicielem zamówienia. Brak IDOR, zmiana ID zamówienia w adresie nie pozwala ponownie zamówić cudzego zamówienia.
  • Przycisk tylko dla właściciela. Przycisk jest renderowany wyłącznie dla klienta będącego właścicielem zamówienia.

Te zabezpieczenia są zawsze włączone i nie mają ustawienia, które by je wyłączyło.

Przycisk jest renderowany po stronie serwera do standardowych akcji zamówienia, więc nie zależy od jQuery i nie powoduje przeskoków układu. Kontrolka jest przyjazna klawiaturze, ze stylami focus-visible, motion-safe, a ekran ustawień jest świadomy trybu ciemnego z pomocą inline przy każdej opcji.

  1. Powracający klient otwiera historię zamówień.
  2. Klika Zamów ponownie na zeszłomiesięcznym zamówieniu.
  3. Wciąż dostępne pozycje napełniają koszyk; komunikat oznacza jeden produkt, który od tego czasu się wyprzedał.
  4. Klient ląduje w kasie i płaci, powtórny zakup w kilka dotknięć.