- Статус
- Решено
- Связанный плагин/тема
- W3 Total Cache
Обзор проблемы
W3-Total-Cache некорректно минифицирует файлы для дополнительных языков, когда активна настройка WPML язык по умолчанию в каталоге.
Обратите внимание: только версия Pro совместима с WPML.
Обходное решение
Чтобы включить минификацию файлов, добавьте следующий код в functions.php
function wpml_comp_2347( $data ){
if ( did_action( 'wpml_loaded' ) ) {
$home_url = $data['home_url'];
if ( substr( $data['url'], 0, strlen( $home_url ) ) != $home_url ) {
$data['home_url'] = get_option( 'home' );
}
}
return $data;
}
add_filter( 'w3tc_url_to_docroot_filename', 'wpml_comp_2347', 20 );
Чтобы исправить удаление минифицированных файлов из очереди, измените следующую функцию в коде W3TC:
wp-content/plugins/w3-total-cache/Util_Environment.php
/**
* Returns home url regexp
*
* @return string
*/
static public function home_url_regexp() {
$home_url = get_option('home');
$regexp = Util_Environment::get_url_regexp( $home_url );
return $regexp;
}
Дальнейшие действия
Мы понимаем, что необходимость вносить изменения в Ваш файл functions.php — не идеальное решение, и поэтому мы неоднократно пытались связаться с командой W3 Total Cache для устранения этой проблемы. Насколько нам известно на данный момент, версия Pro совместима с WPML, а бесплатная версия — нет. Если Вы хотите обсудить решение этой проблемы с командой W3 Total Cache, пожалуйста, свяжитесь с ними через их бесплатный канал поддержки.