使用过 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 )
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!