Warum sind die Zahlen eine Stunde alt, und was macht „Recalculate“?
Ergebnisse bleiben eine Stunde im Zwischenspeicher, damit die Ansicht schnell lädt. Ein neuer Wareneinsatz leert ihn sofort, für alles andere gibt es die Schaltfläche.
Die kurze Antwort
Die Bestellungen eines Jahres zusammenzufassen ist echte Arbeit, deshalb wird das Ergebnis eine Stunde zwischengespeichert. Zwei Dinge heben das auf:
- Ein Wareneinsatz, den Sie bei einem Produkt eintragen, leert den Zwischenspeicher sofort. Nach genau dieser Handlung müssen Sie also nicht warten, bis die Stunde abgelaufen ist.
- Die Schaltfläche Recalculate (Neu berechnen) tut es für alles andere, sofort und auf Wunsch.
Was WooCommerce tatsächlich tut
Genau dafür bietet WooCommerce Hooks für Plugins an. Das Speichern eines Wareneinsatzes löst
woocommerce_save_product_cogs_value aus, und die Gegenstücke für Bestellungen werden ausgelöst,
wenn der Wareneinsatz einer Bestellung oder einer Bestellposition geschrieben wird. Ein Plugin, das
darauf hört, weiß, wann seine zwischengespeicherten Zahlen veraltet sind, statt nach Zeitplan zu
raten.
Kein Hook meldet dagegen, dass per Datenbankimport viele Status auf einmal geändert wurden oder dass jemand eine Erstattung in der Oberfläche eines Zahlungsanbieters ausgelöst hat. Solche Änderungen bleiben für Plugins unsichtbar, und genau deshalb gibt es die Schaltfläche.
Was Sie tun können
Klicken Sie auf Recalculate:
- nach einem Import oder einer Massenbearbeitung von Bestellungen oder wenn Sie viele Status auf einmal geändert haben;
- nach Erstattungen außerhalb von WordPress, im Dashboard eines Zahlungsanbieters;
- immer dann, wenn der Bericht nicht zu dem passt, was Sie gerade getan haben. Das kostet eine Abfrage und klärt die Frage.
Nach dem Erfassen von Kosten sollten Sie die Schaltfläche nicht brauchen. Wenn doch, schreiben Sie uns bitte.
So zeigt Merchgain das im Bericht
Der Schlüssel des Zwischenspeichers setzt sich aus den Filtern zusammen, die Sie tatsächlich angewendet haben (Zeitraum, Ansicht, Suche), plus einer Versionsnummer der Berechnung selbst. Der letzte Teil ist wichtig: Ein Speicher, der nur nach den Filtern unterscheidet, würde nach einem Update weiter Ergebnisse einer älteren Rechenweise ausliefern.
Gespeichert werden Summen und einzelne Seiten einer Tabelle, nie eine riesige serialisierte Tabelle. Manche Objekt-Caches lehnen einen Eintrag von einem Megabyte stillschweigend ab, und das Symptom („der Cache bringt bei meinem Hoster nichts“) lässt sich nirgendwo sonst nachstellen.
Verwandte Antworten
Passt das nicht zu dem, was Sie in Ihrem Shop sehen? Schreiben Sie uns — wir lesen jede Nachricht. contact@merchgain.com