Czy działa z HPOS?
Tak, i z klasycznym zapisem zamówień też. Pozycje zamówień leżą w tych samych tabelach w obu układach, a to właśnie tam są wartości kosztu.
Krótka odpowiedź
Tak, z obydwoma. HPOS i klasyczny zapis oparty na wpisach są obsługiwane równorzędnie i nie ma tu czego konfigurować.
Powód jest konstrukcyjny, a nie sprytny: HPOS przeniósł do własnych tabel zamówienia, a nie pozycje zamówień. Koszt każdej sprzedanej sztuki siedzi na pozycji, czyli w tym samym miejscu w obu układach.
Co naprawdę robi WooCommerce
- Pozycje zostają w
woocommerce_order_itemsiwoocommerce_order_itemmeta, niezależnie od trybu zapisu._cogs_valuejest meta pozycji, więc leży w tej samej tabeli u wszystkich. - Zamówienia są w
wc_ordersprzy HPOS i wpostsprzy układzie klasycznym. Suma kosztu zamówienia to meta zamówienia, więc trafia odpowiednio dowc_orders_metaalbo dopostmeta. - Produkty są wpisami w obu przypadkach, z kosztem w
postmetai kolumną pomocniczą.
Raport musi więc znać tryb zapisu na potrzeby części zapytania dotyczącej zamówień i wcale nie musi go znać na poziomie pozycji — a to na poziomie pozycji siedzi ciekawa liczba.
Co z tym zrobić
Po stronie kosztów: nic. Jeśli jesteś jeszcze na zapisie klasycznym i rozważasz migrację, ta decyzja nie ma nic wspólnego z tym raportem — wartości kosztu nie są przy niej ruszane ani wyliczane od nowa.
Jednej rzeczy warto uniknąć przy każdej migracji: zwrotów i edycji zamówień przy wyłączonej funkcji kosztu. Powód stoi w wyłączeniu funkcji kosztu.
Jak to pokazuje Merchgain
Merchgain deklaruje zgodność z HPOS tak, jak WooCommerce o to prosi
(FeaturesUtil::declare_compatibility() na before_woocommerce_init), i buduje zapytanie
przeciwko tabeli zamówień faktycznie używanej w Twoim sklepie.
Nie wymaga też modułu Analityki WooCommerce. Analityka trzyma własne tabele pomocnicze, a te nie mają kolumny kosztu w ogóle — więc ten raport pyta wprost tabele zamówień, dzięki czemu działa także w sklepach z Analityką wyłączoną.
Powiązane odpowiedzi
Nie zgadza się z tym, co widzisz w sklepie? Napisz — każda wiadomość jest czytana. contact@merchgain.com