woedpress纯代码实现自动翻译成英文文章别名

2016年2月22日 282 次阅读 0 条评论 0 人点赞

英文别名有利于seo。 对于一个wordpress站长来说,插件越少越好。插件可能会占用大量的系统资源,所以我们就想着不使用插件就实现一些功能,比如,纯代码自动翻译成英文文章别名。代替wp-slug-translate。

我收集了网上逍遥乐博客提供的代码和水冷眸博客提供的代码,分享给大家,请大家自行测试。

水冷眸博客提供的代码

将代码加到主题functions.php即可。

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

原理就是通过百度翻译的接口,自动翻译你填写的文章名,不过看着如果文章名长的话,别名也很长啊

 

 

逍遥乐博客(由网友麦田的一根葱分享)

以下为百度版

// 自动生成英文别名 - 百度版
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 );

当然还有微软版

 

// 自动生成英文别名 - 微软版
function bymt_slug_auto_translate( $title ) {
    $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 . '"]' );
    if ( empty( $wp_http_get->errors ) ) {
        if ( ! empty( $wp_http_get['body'] ) ) {
            preg_match('/"TranslatedText":"([^"]+)/i', $wp_http_get['body'], $trans_result);
            $trans_title = $trans_result[1];
            return $trans_title;
        }
    }
    return;
}

菜鸟

文章评论(0)