/ Wordpress / 13 views

WordPress文章自动生成英文别名

wordpress

文章别名slug就是设置固定链接以后,固定链接的后半部分,又称“缩略名”,至于别名格式设置,在后台设置里面可以自定义,自己也是根据网络上看来的,选择了/%postname%.html这种格式,据说采用/%postname%.html或者/%postname%/这种格式有利于SEO,好处是部分关键词会出现在URL中。比如这篇文章的固定链接是https://www.reove.com/wordpress-post-translate-to-en.html,那么这篇文章的别名slug就是wordpress-post-translate-to-en。

之前为了使用方便,使用了wp slug translate(作者:玻璃泉)插件,基本能达到自动将标题翻译为英文的目的,主要原理就是利用微软Bing翻译API接口,类似的插件网上应该不少,这款是我使用体验感觉比较好的。插件使用也非常简单,安装后启用,到设置里面看一下是否符合自己要求,之后就可以愉快的使用了。当然,这毕竟是个翻译插件,不是万能的,有时候有些比较local的标题会造成翻译失败,直接使用文章ID,自己动手修改一下就是。

最近几天在水冷眸博客那里看到了另外一种方法,不使用插件,直接修改代码,其实原理差不多,只是说引用的是百度翻译的接口来翻译你的文章标题,在这里转一下代码,以备不时之需。

[gray-cue]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 );[/gray-cue]

将上面这段代码放入functions.php文件即可。

0

  1. This post has no comment yet

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注