FOX - Currency Switcher for WooCommerce

FOX und WP Rocket: Währungswechsler funktioniert nicht mit Cache

WP Rocket und ein Währungswechsler kollidieren auf vorhersehbare Weise, und die Lösung ist niemals „das Plugin von der Optimierung ausschließen“ – das ist der Ratschlag, der kursiert, und er bringt normalerweise nichts.

Was tatsächlich kaputt geht

FOX schreibt ein kleines Inline-Skript in die Seite, das die aktuelle Währung des Besuchers und die Kurse enthält. Das Hauptskript front.js liest diese Variablen, wenn es ausgeführt wird. WP Rockets Verzögerte JavaScript-Ausführung und JavaScript verzögert laden verschieben beide diesen Inline-Block – daher wird front.js zuerst ausgeführt, findet nichts, und die Preise werden nie neu gezeichnet. Die Browser-Konsole zeigt woocs_current_values is not defined.

Das ist der Grund, warum es nichts hilft, front.js von der Optimierung auszuschließen: Die Datei war nie das Problem. Der Inline-Block davor war es.

Die Einstellungen, die es beheben

  • Fügen Sie unter Datei-Optimierung das Inline-Skript des Plugins zu den Ausnahmen für Verzögerte JavaScript-Ausführung hinzu, nicht nur die Datei. WP Rocket akzeptiert eine Zeichenfolge, die im Inline-Code vorkommt – woocs funktioniert.
  • Lassen Sie JavaScript-Dateien kombinieren während des Tests deaktiviert. Das Kombinieren verschiebt den Inline-Block relativ zur Datei und führt zu demselben Wettlauf.
  • Aktivieren Sie in den FOX-Einstellungen die Option Cache. Sie teilt dem Plugin mit, dass die Seite, die es neu zeichnet, aus einem Cache stammt.
  • Setzen Sie Speicher auf Transient. Ab Version 2.5.0 behält diese Kombination den Schlüssel im localStorage des Browsers, anstatt ein Cookie zu setzen, und ein Cookie bei der ersten Anfrage führt dazu, dass ein aggressiver Cache jede Seite als persönlich behandelt.

Seiten, die niemals gecacht werden dürfen

Warenkorb-, Kasse- und Kontoseiten. WP Rocket schließt sie standardmäßig aus, aber eine benutzerdefinierte Kasse-Seite, die von einem Theme oder einem Kasse-Plugin erstellt wurde, befindet sich oft nicht auf dieser Liste. Überprüfen Sie es.

Wenn die Preise nach allen vier Schritten immer noch falsch sind, liegt die Ursache normalerweise nicht an WP Rocket – lesen Sie warum ein Währungswechsler und ein Seiten-Cache sich gegenseitig bekämpfen für das vollständige Bild, einschließlich Caching auf CDN-Ebene, das oberhalb von WP Rocket liegt.

Referenz: Die ursprüngliche Diskussion befindet sich in unserem Support-Forum.