WordPress 教程 · 2024年8月28日

WordPress 自动翻译文章标题为英文

WordPress 主题 CoreNext

采用百度翻译的翻译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的。