- 状态
- 已解决
- 相关插件/主题
- W3 Total Cache
问题概述
当启用 WPML 设置目录中的默认语言时,W3-Total-Cache 无法正确压缩次要语言的文件。
请注意:只有 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 团队讨论解决此问题,请通过其免费支持渠道与他们联系。