使用过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 )