Wordpress Plugin Problem

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/.