- Статус
- Решено
- Заявлено для
- 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 );
}