Betreibt man das Mehrsprachenplugin "WPML" und stellt dieses so ein, dass die verschiedenen Sprachen unter verschiedenen Domains / Subdomains erreichbar sind, kann es durch den gleichzeitigen Betrieb des Performance-Plugins "WP Fastest Cache" zu Problemen kommen. Denn dieses berücksichtigt bei der Definition des Page-Caches die unterschiedlichen Sprachen nicht, zeigt unter einer anderen Domain denselben Inhalt an, da Cache-Verzeichnis identisch.
Um die Unterscheidung beim Aufbau des Caches zu einzurichten, muss man nur an einer Stelle im "WP Fastest Cache" eingreifen. Die Stelle findet sich in der Datei
/wp-content/plugins/wp-fastest-cache/inc/cache.php
Hier kann man beispielsweise die Zeilen
$this->cacheFilePath = $this->cacheFilePath ? rtrim($this->cacheFilePath, "/")."/" : "";
$this->cacheFilePath = $this->cacheFilePath ? rtrim($this->cacheFilePath, "/")."/" : ""; //$this->cacheFilePath = str_replace("/cache/all//", "/cache/all/", $this->cacheFilePath);
ersetzen mit
if($this->isPluginActive('sitepress-multilingual-cms/sitepress.php')){ if($this->isPluginActive('sitepress-multilingual-cms/sitepress.php')){
$current_language = apply_filters('wpml_current_language', false);
$this->cacheFilePath = str_replace('/cache/all/', '/cache/all/' . $current_language . '/', $this->cacheFilePath);
} else {
$this->cacheFilePath = $this->cacheFilePath ? rtrim($this->cacheFilePath, "/")."/" : "";
$this->cacheFilePath = str_replace("/cache/all//", "/cache/all/", $this->cacheFilePath);
}
Hiermit erhält jede Sprache Ihren eigenen Cache-Pfad und alles funktioniert wieder reibungslos. Angelehnt an / gelöst mit Thread unter https://wpml.org/forums/topic/wpml-language-switch-wp-fastest-cache-issue/.