查看目录
文章目录隐藏
使用wordpress程序建站的朋友很多,因为wp的易用性和可扩展性非常强大,也促使很多朋友开发了不同的主题和插件来实现各种网站功能。比如wordpress默认在编辑文章时的网址标题含有中文字符,这样会使网址不够美观。所以我们就需要手动把网址中的汉字改为拼音或者英文,那么有没有办法让wordpress标题自动生成英文别名(拼音)呢?
有的。wordpress标题自动生成英文别名有多种方法,主要分为插件类和代码类,。
一、wordpress标题自动生成英文别名的插件:
1、PinYin Slug 插件
据说是月光博客开发的WordPress中文标题转换拼音插件。这个插件启用后,发布文章的“文章缩略名(Post Slug)”会自动变成文章标题的汉语拼音,例如,如果你发布一篇文章,标题是“中文拼音”,通常情况下WordPress会自动产生一个缩略名%e4%b8%ad%e6%96%87%e6%8b%bc%e9%9f%b3,如果你启用了“中文标题转换拼音插件”,则文章缩略名会变成zhongwenpinyin。这个缩写是在保存文章的时候产生的,因此你在发布文章前还可以对其进行修改,或者直接发布。这个插件对于以前已经存在的文章标题缩写是无效的,只对新文章有效,你可以通过删除旧文章后发布一篇新文章来自动产生这个拼音缩写。
除此之外,还有下面几款插件,大家可以根据插件的更新频率和自己的喜好在后台选择安装即可。
2、Pinyin Slugs
3、Wenprise Pinyin Slug
4、Wizhi Optimization
5、MZSlugs Translator
二、wordpress标题自动生成英文别名的代码:
将以下任意一段代码添加到wordpress主题目录下的functions.php文件中,在最后一个?>标签前新添如下代码并保存。如果没有?>标签,则直接加到最后面。
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 ( emptyempty( $wp_http_get->errors ) ) { if ( ! emptyempty( $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 );
2、使用微软翻译的代码:
// 自动生成英文别名 - 微软版 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 ( emptyempty( $wp_http_get->errors ) ) { if ( ! emptyempty( $wp_http_get['body'] ) ) { preg_match('/"TranslatedText":"([^"]+)/i', $wp_http_get['body'], $trans_result); $trans_title = $trans_result[1]; return $trans_title; } } return; }