WPML 获取当前语言的对应的翻译页面

文 / @UTHEME

获取WPML翻译页面链接的方法

使用过WPML的用户都知道,WPML会自动翻译文章中的链接或者导航到相应的页面。但有时,我们难免需要手动编写链接代码,使用get_permalink获取的链接只是当前页面的链接,那么如何获取当前链接对应的翻译链接呢?实际上,这非常简单。

添加获取翻译页面的函数

languages

将以下代码添加到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 {
    // 页面未找到,很可能是主页
    global $sitepress;
    $url = $sitepress->language_url($language);
  }

  return $url;
}

使用时,我们只需要将当前文章的id传递给此函数即可。

get_permalink_current_language($post_id)
添加UTHEME为好友
扫码添加UTHEME微信为好友
· 分享WordPress相关技术文章,主题上新与优惠动态早知道。
· 微信端最大WordPress社群,限时免费入群。