本篇文章更新時間:2019/07/27
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持


標題長到一個翻掉,關鍵字就只有「WPML」(推廣連結)多國語言外掛和「get_posts」方法。

有開發客製化網站頁面的話應該對 get_posts 這方法不陌生,帶入自己想要輸出的條件就會把對應文章給取出。

不過如果碰到有使用 WPML 多國語言外掛的網站怎辦?預設也是直接全部條件輸出。中文英文的資料一起輸出導致頁面內容混亂,這樣就會有問題。

要解決這個問題就要補上一個條件:

$myPosts = get_posts(array(
    'suppress_filters' => false
));

suppress_filters 這個參數要設定為 false,其他條件都不變,如此一來輸出的文章就會根據當前讀者語言來過濾,不會有多國內容一起被輸出的問題了。

短短一行解決的問題可不小,可真是江湖一點訣說破不值錢XD

Ref: WPML: wp_query() returns posts in all languages rather than just current one


Share:

作者: Chun

WordPress 社群貢獻者、開源社群推廣者。專注於 WordPress 外掛開發、網站效能最佳化、伺服器管理,以及 iDempiere 開源 ERP 導入與客製開發。曾參與 WordCamp Taipei 等社群活動,GitHub Arctic Code Vault Contributor。提供資訊顧問、WordPress 開發教學、主機最佳化與企業 ERP 整合服務。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon