- 状态
- 已解决
- 报告针对
- WPML Multilingual CMS 3.6.3
- 解决于
- 3.7.0
问题概述
为了解决缓存插件的某些问题,当用户未登录时,我们不再在前端设置语言 cookie。这导致某些在前端进行 AJAX 调用的主题和插件出现了一些问题。
临时解决方法
此问题已在 WPML 3.7.0 中得到解决。
要在前端 AJAX 调用中启用语言信息,请前往 WPML > 语言,然后向下滚动,直到看到“AJAX 操作的语言筛选”。
在那里您会找到“存储语言 cookie 以支持 AJAX 的语言筛选”:

以下是 WPML 3.6.3 的临时解决方法:
如果您遇到此问题并且未使用任何缓存插件,则可以使用以下临时解决方法:
- 编辑 sitepress-multilingual-cms/classes/utilities/class-wpml-cookie.php 文件。
- 更改 set_cookie 函数
从:
public function set_cookie( $name, $value, $expires, $path, $domain ) {
if ( $this->should_set_cookie() ) {
setcookie( $name, $value, $expires, $path, $domain );
}
}
更改为:
public function set_cookie( $name, $value, $expires, $path, $domain ) {
setcookie( $name, $value, $expires, $path, $domain );
}