Wordpress的slug转换
Slug就是一个帖子的缩略标题,常用来作为URL的一部分(在Wordpress中,这是可设置的),在后台发帖子的时候就可以看到一个Post Slug的设置,如果不填的话,Wordpress会自动将帖子的标题(Title)转换为Slug,所谓的转换就是转到URL格式,比如“test blog"就会被转成"test-blog",空格被替换了,这才能作为合法的URL,当然如果有多个帖子的Slug恰好相同的话,没有关系,Wordpress会自动在后面加-1,-2之类的数字,反正保证每一贴都不同,这也是为了做URL方便。
但如果标题是中文,Wordpress就不那么智能了,Slug就可能会自动变成了一堆"%230"之类的外星语,煞是难看,于是就有人想干吗不用拼音呢?起码比外星语好读一些,更有甚者会想,应该将title翻译成英文,再转换为Slug不就更漂亮了吗? 但是所有这些Wordpress都不会替我们做,于是各路神仙开发了不少Wordpress插件,来完成这样的理想,其中的一个神仙开发了wp-slug,这个插件实现了上面的想法(翻译是找的Google translate),先翻译,翻译不成就转拼音,最后成Slug,这样就不用每次费劲脑汁的想那个Slug了。
对于已经有大量帖子的人(比如我),也是有办法的,另一个神仙实现了一个批量Slug转换插件,但是这个插件只是调用了Google Translate,而没有实现拼音的转换,不过这个插件是直接修改数据库的,所以一定要小心使用,用完了禁用插件。
我测试的结果是两个插件都可以工作,但是Google似乎对这种来自“机器人”的翻译请求有限制,如果请求过频繁,就会封ip一段时间(对那个批量转换插件尤其不利),所以经常会遇到翻译不成功的情况,真是晕。
相关文章
March 27th, 2008 at 10:03 am
看了一下blogger,英文处理方法跟wordpress一样,但是中文使用了一个异常简单(粗暴?)的方法:直接用blog-post_xxx之类的方法(跟标题无关)。
俺的blog还是有更新的。http://xiangxiadage.blogspot.com
尤其是LIVE SPACES。 http://xiangxiadage.spaces.live.com
March 27th, 2008 at 12:47 pm
把Slug用在URL上了,留言还能不能工作了?
March 27th, 2008 at 12:51 pm
bug报告!我对第一个帖子发了comment,但是http://www.liuzhongshu.com/显示No Comments ,可是点击No Comments »你可以看到评论。
March 27th, 2008 at 9:44 pm
这个是Wordpress的功能,因为评论中如果有URL,Wordpress可能会要求管理员approve才能让留言生效,但是评论的人自己是可以看到的。