无插件中文别名自动翻译成英文

之前我们说过使用插件来实现中文自动翻译成英文和拼音,但插件越来越多,也越来越不受人待见,所以今天就说说如何不使用插件自动翻译英文别名,原理和插件是一样的,利用百度翻译的API接口实现。
不废话,直接上代码,在主题function.php里添加:

1
2
3
4
5
6
7
8
9
10
11
12
13
// 自动生成英文别名 - 百度版
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 ( 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;
}
add_filter( 'sanitize_title', 'bymt_slug_auto_translate', 1 );

给我留言