【wordpress代码】纯代码实现文章标题自动拼音别名


大家好!今天又是特别的一天,今天给大家介绍文章标题自动拼音别名,分为插件和纯代码实现此功能,下面我给大家都介绍下,纤细说下纯代码如何实现。

wordpress标题别名的插件

PinYin Slugs 插件
WordPress中文标题转换拼音插件。这个插件启用后,发布文章的“文章缩略名(Post Slugs)”会自动变成文章标题的汉语拼音,例如,如果你发布一篇文章,标题是“中文拼音”,通常情况下WordPress会自动产生一个缩名%e4%b8%ad%e6%96%87%e6%8b%bc%e9%9f%b3,如果你启用了“中文标题转换拼音插件”,则文章缩略名会变成zhongwenpinyin。这个缩写是在保存文章的时候产生的,因此你在发布文章前还可以对其进行修改,或者直接发布。这个插件对于以前已经存在的文章标题缩写是无效的,只对新文章有效,你可以通过删除旧文章后发布一篇新文章来自动产生这个拼音缩写。

插件安装截图

直接在插件后台安装即可

wordpress标题自动生成英文别名的代码

将以下任意一段代码添加到WordPress主题目录下的functions.php文件中,在最后一个?>标签前新添如下代码并保存。如果没有?>标签,则直接加到最后面。

百度翻译的代码

对于在天朝以内的用户,西瓜君个人建议是使用百度翻译的代码,因为除了支持国货之外,还有一个层面就是百度的产品其实非常优秀。其次百度的服务器在国内比微软的坑会稳定一点。

// 自动生成英文别名 - 百度版 
function bymt_slug_auto_translate( $title ) { 
 $wp_http_get = wp_safe_remote_get( 'http://fanyi.baidu.com/v2transapi?from=zh&to=en&transtype=trans&query=' . $title ); 
 if ( emptyempty( $wp_http_get->errors ) ) { 
 if ( ! emptyempty( $wp_http_get['body'] ) ) { 
 $trans_result = json_decode( $wp_http_get['body'], true ); 
 $trans_title = $trans_result['trans_result']['data'][0]['dst']; 
 return $trans_title; 
 } 
 } 
 return; 
} 
add_filter( 'sanitize_title', 'bymt_slug_auto_translate', 1 );

微软翻译的代码

// 自动生成英文别名 - 微软版 
function bymt_slug_auto_translate( $title ) { 
 $wp_http_get = wp_safe_remote_get( 'http://api.microsofttranslator.com/v2/ajax.svc/TranslateArray2?appId=%22TKT68kjRgkUbVtIKst6Vo0Hxnb6g2f0K3tUMyn1gZ7nc*%22&from="zh"&to="en"&options={}&texts=["' . $title . '"]' ); 
 if ( emptyempty( $wp_http_get->errors ) ) { 
 if ( ! emptyempty( $wp_http_get['body'] ) ) { 
 preg_match('/"TranslatedText":"([^"]+)/i', $wp_http_get['body'], $trans_result); 
 $trans_title = $trans_result[1]; 
 return $trans_title; 
 } 
 } 
 return; 
}