主題開發很常會用到 home_url()
來取得頁面網址
<a href="<?php echo home_url('news') ?>">news</a>
但使用 WPML Plugin 來開發多國語言主題時,要先了解 home_url() & site_url() 的差異,假設目前頁面語言為「英文」,網址位於 en 這個目錄中
https://example.com/en/
同語言中切換頁面
WPML 很聰明,一樣可以使用慣用 home_url()
做為頁面連結就可以了,不需要帶 en 這個 language code 目錄,如果帶 en 這個 language code 目錄也沒有關係,以下三個用法,結果是一樣的
<a href="<?php echo home_url('news') ?>">news</a>
<a href="<?php echo home_url('en') ?>">日語</a>
<a href="<?php echo home_url('en/news') ?>">news</a>
連結網址輸出為:
https://example.com/en/news
切換不同語言
這部分要特別注意,需要使用 site_url()
這個 function 來取得連結,假設要由「英文」頁面切換至「日文」頁面
<a href="<?php echo site_url('ja') ?>">日語</a>
<a href="<?php echo site_url('ja/news') ?>">news</a>
連結網址輸出為:
https://example.com/ja/news
切換不同語言,使用 home_url() 加上 language code目錄,想說可以組出日文語言網址,這是沒有用的喔
<a href="<?php echo home_url('ja') ?>">日語</a>
<a href="<?php echo home_url('ja/news') ?>">news</a>
連結網址輸出仍然為:
https://example.com/en/news