WordPress

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

猴猴 ·

对于固定链接采用 postname 的博主来说,自动翻译标题功能是必不可少的。不然浏览器地址栏里一大堆乱码可能看着会非常别扭。不管是翻译成拼音还是英语都可以优化固定链接,另外对搜索引擎也更友好。这里介绍的是翻译成英语的办法。当然翻译并不是很准确,采用百度翻译的API,将中文的文章标题自动翻译为英文。

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

代码如下,添加到当前主题的 functions.php 文件即可:(这里参考的是WP大学给出的办法,实测比其他办法要好用些)

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 );

0 条回应