- 状态
- 已解决
问题概述
某些主机提供商(如 Pantheon)的安全设置非常严格,并遵循部署 WordPress 网站的最佳推荐实践。
这些主机提供商会保护其运行实例,并仅允许 Web 服务器对 uploads 文件夹拥有写入权限。
如果您使用的是此类主机提供商,那么使用字符串翻译的新翻译方法将会给您带来问题,因为服务器本身和 WPML 字符串翻译将没有权限写入 /wp-content/languages/ 文件夹及其目录树下的子文件夹。
临时解决方法
要解决此问题并使一切正常运行,您应该重新定义 WordPress 的语言文件夹(通常位于 /wp-content/languages/ 中)。
对于 Pantheon 主机,您可以通过将此代码添加到 wp-config.php 来实现:
define( 'WP_LANG_DIR', $_SERVER['HOME'] .'/files/languages' );
我们建议将此代码添加在以下内容之后:
/** Define appropriate location for default tmp directory on Pantheon */
define('WP_TEMP_DIR', $_SERVER['HOME'] .'/tmp');
然后,您可以尝试前往仪表板 > 更新,并单击“更新翻译”按钮来运行 WordPress 逻辑以获取所有语言包。
据报告,您可能还需要手动创建 /languages/ 文件夹和 /languages/wpml/ 文件夹(如果尚未创建),然后一切才能正常工作。