WPML Ajax 無法取得翻譯文章
使用WPML插件,使用Ajax取得文章,一直都沒辦法取得當前文章,只會取得預設語言文章,在這個問題上花費了好多時間,終於解決了!!!!
推測原因是WPML在 pre_get_posts 這個 hook 會override query_vars值,去對應翻譯文章分類,與得翻譯分類文章,在一般情況下是沒問題的,但使用Ajax要資料的時候,並沒有帶參數給WPML,以致WPML認為是預設語言,在 pre_get_posts 這個 hook 會override query_vars為預設語言,所以無法取得當前翻譯語言的文章。
解決方法:
一般Call Ajax的url:
echo admin_url("admin-ajax.php");
在 url 後方加一個參數 lang,明確定義當前語言,就可解決這問題
echo admin_url("admin-ajax.php?lang=". ICL_LANGUAGE_CODE);