WPML
状态
已解决
报告针对
WPML Multilingual CMS 3.6.3
解决于
3.7.0

问题概述

为了解决缓存插件的某些问题,当用户未登录时,我们不再在前端设置语言 cookie。这导致某些在前端进行 AJAX 调用的主题和插件出现了一些问题。

临时解决方法

此问题已在 WPML 3.7.0 中得到解决。

要在前端 AJAX 调用中启用语言信息,请前往 WPML > 语言,然后向下滚动,直到看到“AJAX 操作的语言筛选”。

在那里您会找到“存储语言 cookie 以支持 AJAX 的语言筛选”:


以下是 WPML 3.6.3 的临时解决方法:

如果您遇到此问题并且未使用任何缓存插件,则可以使用以下临时解决方法:


  1. 编辑 sitepress-multilingual-cms/classes/utilities/class-wpml-cookie.php 文件。

  2. 更改 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 );
}

所有已知问题 →