wordpress无插件实现文章别名自动翻译成英文

  • A+
所属分类:wordpress函数

wordpress文章别名除了用插件实现将文章标题自动翻译成英文以外,还可以通过向wordpress模版的function.php文件中添加代码实现。具体代码如下:

百度版

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

微软版

  1. // 自动生成英文别名 - 微软版
  2. function bymt_slug_auto_translate( $title ) {
  3.     $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 . '"]' );
  4.     if ( emptyempty$wp_http_get->errors ) ) {
  5.         if ( ! emptyempty$wp_http_get['body'] ) ) {
  6.             preg_match('/"TranslatedText":"([^"]+)/i', $wp_http_get['body'], $trans_result);
  7.             $trans_title = $trans_result[1];
  8.             return $trans_title;
  9.         }
  10.     }
  11.     return;
  12. }
特别说明

该代码经过测试,能够实现其功能,但是会严重拖慢网站速度,请慎用!

亮享

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: