使用过WPML的朋友都知道,WPML会自动翻译文章链接或者导航中的链接到相应的页面。可是有时候,我们难免要手动写一些链接到代码中,使用get_permalink
获取的链接只是当前页面的,怎么获取当前链接对应的翻译链接呢?其实很简单。
把以下代码加functions.php中,这段代码给WordPress添加了一个获取翻译页面的函数,熟悉WPML的朋友可以看出,这段代码基于WPML的icl_object_id
函数。
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传入到这个函数中即可。
get_permalink_current_language( $post_id )