使用過WPML的朋友都知道,WPML會自動翻譯文章鏈接或者導航中的鏈接到相應的頁面??墒怯袝r候,我們難免要手動寫一些鏈接到代碼中,使用get_permalink獲取的鏈接只是當前頁面的,怎么獲取當前鏈接對應的翻譯鏈接呢?其實很簡單。

把以下代碼加functions.php中,這段代碼給WordPress添加了一個獲取翻譯頁面的函數(shù),熟悉WPML的朋友可以看出,這段代碼基于WPML的icl_object_id函數(shù)。
function get_permalink_current_language( $post_id )
{
$language = ICL_LANGUAGE_CODE;
$lang_post_id = icl_object_id( $post_id , 'page', true, $language );
$url = "";
if($lang_post_id != 0) {
$url = get_permalink( $lang_post_id );
}else {
// No page found, it's most likely the homepage
global $sitepress;
$url = $sitepress->language_url( $language );
}
return $url;
}
使用的時候,我們只需要把當前文章的id傳入到這個函數(shù)中即可。
get_permalink_current_language( $post_id )

