Dlaczego liczby są godzinę stare i co robi przycisk Przelicz?
Wyniki są w cache przez godzinę, żeby ekran otwierał się szybko. Wpisanie kosztu czyści cache od razu. Wszystko inne, co zmienia liczby, ma przycisk.
Krótka odpowiedź
Zagregowanie roku zamówień to prawdziwa praca, więc wynik jest trzymany w cache przez godzinę. Dwie rzeczy to obchodzą:
- wpisanie kosztu na produkcie czyści cache natychmiast — liczby nigdy nie czekają na zegar po jednej czynności, którą wykonałeś właśnie po to, żeby je zmienić;
- przycisk Przelicz robi to teraz, na żądanie, dla wszystkiego pozostałego.
Co naprawdę robi WooCommerce
WooCommerce daje wtyczkom haki dokładnie na tę potrzebę. Zapis kosztu odpala
woocommerce_save_product_cogs_value, a odpowiedniki po stronie zamówień odpalają się przy
zapisie kosztu zamówienia i pozycji. Wtyczka, która ich słucha, wie, kiedy jej liczby stały się
nieaktualne, zamiast zgadywać po zegarze.
Czego żaden hak nie powie: że statusy zmieniły się hurtowo przez import w bazie albo że ktoś wystawił zwrot w panelu bramki płatniczej. Takie rzeczy przychodzą po cichu — i po to jest przycisk.
Co z tym zrobić
Naciśnij Przelicz po:
- imporcie albo masowej edycji zamówień i po hurtowej zmianie statusów;
- zwrotach wystawionych poza WordPressem, w panelu bramki;
- każdym momencie, gdy raport nie zgadza się z tym, co właśnie zrobiłeś — to koszt jednego zapytania i koniec wątpliwości.
Po wpisaniu kosztów nie powinien być potrzebny. Jeśli jest, to warto o tym napisać.
Jak to pokazuje Merchgain
Klucz cache powstaje z filtrów, które faktycznie zastosowałeś — zakresu dat, widoku, wyszukiwania — plus numeru wersji samego rachunku. Ta ostatnia część ma znaczenie: cache oparty tylko na filtrach po aktualizacji nadal podawałby wyniki policzone starą wersją arytmetyki.
Wyniki trafiają do cache jako agregaty i pojedyncze strony tabeli, nigdy jako jedna wielka zserializowana tabela. Wpis wielkości megabajta jest przez część obiektowych cache po cichu odrzucany, a objaw — „cache nic nie robi na moim hostingu” — jest nieodtwarzalny gdziekolwiek indziej.
Powiązane odpowiedzi
Nie zgadza się z tym, co widzisz w sklepie? Napisz — każda wiadomość jest czytana. contact@merchgain.com