要在 Polylang 設定不同語系的首頁,需要使用其內建的函式來判斷當前的語系,但之前提過的 pll_current_language() 沒辦法使用要注意。
要在首頁的話建議使用 front-page.php 讓系統自動去抓取首頁,然後在裡面使用 Polylang 的 pll_home_url() 的 function 來判斷首頁當前的網址,注意這個只有在首頁會回傳值,跟 php 或 WP 抓取當前網址的不大一樣。
接著就可以依據網址來判斷要讀取的內容,這邊我使用 get_template_part() 來簡化程式碼:
$lang_slug=pll_home_url(); if($lang_slug==YOUR_DOMAIN){ get_template_part('template-parts/home/zh'); }else{ get_template_part('template-parts/home/en'); }
注意因為回傳的是完整的網址,所以如果語系比較多的話最好去解析裡面的內容再來判斷要讀取的樣板會比較好。