Всем привет, есть WP + WooCommerce + W3 total cache, сделали доработку для W3, которая заменяет строки (метки вида {{curr_region}}) на нужные нам строки в зависимости от вхождения подстроки в URL.
В файле PgCache_ContentGrabber.php добавили:
include_once (ABSPATH .'replaces.php');
$current=$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
foreach($replaces AS $link=>$replace){
if(strlen($link)>0 && stripos($current,$link)!==false){
$content=preg_replace($replace['from'],$replace['to'],$content);
}
}
А в файле replaces.php уже собственно сам массив с заменами.
Проблема следующая: при методе кэширования "Disk:Basic" и "Memcached" все заменяется нормально, но при методе кэширования "Disk:Enhanced", замены не отрабатывают, точнее отрабатывают только при первой генерации кэша, а когда файл уже берется из кэша, то замены не отрабатывают.
Нужно починить, чтобы в режиме "Disk:Enhanced" замены также отрабатывались. Есть подозрение что также это может быть из-за настроек сервера (сейчас стоит ISP manager, PHP 7.0 в режиме FastCGI, nginx).
Опубликован 12.05.2019 в 13:37 Последнее изменение: 12.05.2019 в 13:41