- ステータス
- 解決済み
- 報告対象
- WPML Multilingual CMS 3.6.3
- 解決されたバージョン
- 3.7.0
問題の概要
キャッシュプラグインに関する特定の問題を解決するため、ユーザーがログインしていない場合はフロントエンドで言語Cookieを設定しないようにしました。これにより、フロントエンドでAJAX呼び出しを行う特定のテーマやプラグインで問題が発生しています。
回避策
この問題はWPML 3.7.0で解決されました。
フロントエンドのAJAX呼び出しで言語情報を有効にするには、WPML > 言語に移動し、「Language filtering for AJAX operations」が表示されるまで下にスクロールします。
そこに「Store a language cookie to support language filtering for 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 );
}