W ciągu ostatniego roku zespół WooCommerce był praca nad projektem która może znacznie zwiększyć szybkość sklepów WooCommerce. Wydajne przechowywanie zamówień lub HPOS upraszcza strukturę bazy danych i optymalizuje wydajność poprzez poprawę sposobu zarządzania danymi zamówień. Przed HPOS zamówienia WooCommerce były przechowywane w tych samych tabelach bazy danych, co posty i strony, co mogło prowadzić do problemów z wydajnością podczas przetwarzania dużych ilości zamówień. W przyszłości zamówienia będą przenoszone do dedykowanych tabel, które są zoptymalizowane pod kątem przechowywania danych zamówień.
Oczywiście zmiana ta będzie wymagała przeniesienia danych zamówienia z istniejącej struktury tabeli do nowej struktury tabeli HPOS. HPOS jest obecnie oferowany jako funkcja opt-in i nie został jeszcze zatwierdzony do użytku produkcyjnego, jednak zdecydowanie zalecamy sprawdzenie zgodności witryny z HPOS w oddzielnej witrynie testowej. WooCommerce planuje domyślnie włączyć HPOS w WooCommerce 8.
Twórcy wtyczek WooCommerce, tacy jak FooSales będzie również musiał wdrożyć różne zmiany, które zapewnią kompatybilność zarówno z HPOS, jak i starszymi magazynami danych. Jesteśmy z przyjemnością potwierdzamy, że od dnia FooSales wersja 1.34.1 (14 czerwca 2023 r.) FooSales jest w pełni kompatybilny z HPOS. Nie ma żadnych widocznych zmian w aplikacjach FooSales lub wtyczkach FooSales, jednak gdy zdecydujesz się przełączyć swoją witrynę na HPOS, wszystkie funkcje FooSales będą po prostu działać zgodnie z przeznaczeniem.
Wielu twórców wtyczek i motywów w społeczności WooCommerce wyraziło obawy dotyczące wdrożenia kompatybilności z HPOS i zakresu wymaganej pracy. Aby złagodzić ich obawy, przedstawiamy informacje zwrotne od naszego głównego programisty, które, miejmy nadzieję, zapewnią spokój ducha:
"Początkowo pomysł refaktoryzacji naszej bazy kodu w celu dostosowania do HPOS był onieśmielający. Kiedy już zaczęliśmy, postępując zgodnie z instrukcjami Dokumentacja deweloperska WooCommerce okazało się, że (przynajmniej dla naszej bazy kodu) aktualizacja nie była aż tak skomplikowana. Dokumentacja zawiera bardzo przydatne wyrażenie regularne, które pozwala szybko zobaczyć wszystkie miejsca w kodzie, w których może być konieczna refaktoryzacja. Dla nas jedną z największych różnic było pobieranie i aktualizowanie metadanych zamówień, które uzyskiwały dostęp do tabeli "wp_posts" bezpośrednio za pomocą funkcji WordPress. Wszystko, co musieliśmy zrobić w tych przypadkach, to raczej użyć odpowiednich funkcji zamówień WooCommerce, które mają kompatybilność wsteczną dla użytkowników, którzy jeszcze nie przeszli na HPOS. Oprócz metadanych zamówienia istniało kilka akcji i filtrów, które należało zmodyfikować, aby działały z nową listą zamówień i stronami widoku edycji. W sumie aktualizacja i przetestowanie zmian niezbędnych do obsługi WooCommerce High Performance Order Storage zajęło nam tylko kilka dni". - Etienne, główny programista FooSales
Jesteśmy bardzo podekscytowani tym, co HPOS oznacza dla sprzedawców i z niecierpliwością czekamy na informacje o tym, jak poprawił on wydajność sklepów sprzedawców. W związku z tym zalecamy najpierw dokładne przetestowanie HPOS w środowisku przejściowym i upewnienie się, że wszystkie wtyczki i usługi używane przez sklep są zgodne z 100% HPOS.