WPML
状态
已解决
相关插件/主题
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 团队讨论解决此问题,请通过其免费支持渠道与他们联系。

所有已知问题 →