如何让WordPress文章标题自动翻译为英文

采用百度翻译的翻译API,将中文的文章标题自动翻译为英文。

经过测试,适用于WordPress内置的文章类型以及bbPress、BuddyPress、WooCommerce、DW Question Answer等插件添加的自定义文章类型。

DW Question Answer 的问题测试:

72

bbPress 的帖子测试:

73

BuddyPress 和 WooCommerce 就没有什么测试的必要了。

代码如下,添加到当前主题的 functions.php 文件即可:

function translate_chinese_post_title_to_en_for_slug( $title ) {
 /*
 transtype:
 trans
 realtime
 */
 $translation_render = 'http://fanyi.baidu.com/v2transapi?from=zh&to=en&transtype=realtime&simple_means_flag=3&query='.$title;
 $wp_http_get = wp_safe_remote_get( $translation_render );
 if ( empty( $wp_http_get->errors ) ) { 
 if ( ! empty( $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 $title;
} 
add_filter( 'sanitize_title', 'translate_chinese_post_title_to_en_for_slug', 1 );

百度翻译API的来源是 Chorme+F12:

71

不保证这个API持久有效,不过嘛,应该是妥妥的,即使没有返回,也会按照原来的标题生成文章的SLUG的。


一日程新手WP建站指南https://www.yiricheng.cn/),为广大编程爱好者提供零基础快速搭建博客网站的方法,分享计算机网络、HTML、CSS、JavaScript、PHP、响应式设计以及Python自动化办公的博客文章,另有各类小工具、电子书、免费教程。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。