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 );
}

Все известные проблемы →