完善Wordpress的标题拼音插件

在我上一篇日志中,提到本博客使用了月光开发的Wordpress的标题拼音插件,该插件的功能是自动将日志中文题目转换为对应的拼音,这对SEO还是有一定的好处的。

但是这个插件有点不好的是转换后的拼音挤成一团,一是不美观,二是对有些多音字的转换常常不尽人意(如“了”通常被转换成了“Liao”)。

夕阳醉了提供了一个方法,就是修改拼音插件里的pinyin-slug.php文件,将$title = str_replace(” “,””,$title); 删掉。这样做的结果是中文标题生成的拼音之间会自动用“-”隔开,利于观看和SEO,但是如果标题里本身包含英文单词或者字符的话,每一个字母之间都会产生一个“-”,比如这个标题:hello,世界 就会被转成h-e-l-l-o-shi-jie。

这样,如果标题全是中文,修改pinyin-slug.php文件后,生成的比较完美,如果标题里的中文有多音字,那么就“文章缩略名”那里手段输入地址前缀,如:hello-shi-jie。同样,如果标题包含英文单词,也要用手动指定的方式来生成前缀。

2007-9-22 12:23:16更新:夕阳醉了将这个插件再次完善了下,自动用“-”隔开中文拼音,并且把字母隔开。但是,如果有多个字母,不会被自动识别而会黏在一起,字母与拼音之间也没有“-”隔开。这种情况需要在输入标题的时候在单词和汉字之间、单词与单词之间用空格隔开。

http://oznn.com/attachment.php?fid=3

12 评论

  1. 搞了半天,解决了英文也被-分开的问题,一个笨办法,
    修改class.Chinese.php中640行return $this->pinyin_table[$i][0];为return $this->pinyin_table[$i][0].’-‘; 687行 return implode(” “, $ret);为return implode(“_”, $ret);
    pinyin-slug.php中36行$title = str_replace(” “,””,$title);为$title = str_replace(array(“-_”,”_”),array(“-“,””),$title); 这行你删了话加上就行。
    郁闷,开始的时候分开了拼音单词凑一起了,多单词情况下 分开单词拼音成单字母了,只有这样搞了。。-_-!!!

  2. 回夕阳醉了:
    再次感谢!另外,请教你一个问题哈,我使用了UltimateTagWarrior这个Tags插件,运行正常。但是只要文章有了新的评论,那个页面上显示的tags就为空了。去后台编辑文章,tags框那里也是空的,再次加上后好了。
    如果有新的评论,刷新后tags又会自动消失。不知这个怎么解决。

  3. 汗,我不知道的 没研究过 我也正好这两天在研究这个插件准备移植到BO-BLOG上。顺便弄的。

  4. 晕 那个包中有句错了 打包时弄错的
    $title = str_replace(array(“-_”,”-“),array(“-“,””),$title);
    改为$title = str_replace(array(“-_”,”_”),array(“-“,””),$title); 
    你要是下了改下 或重下。
    kao 在本机测试的时候 url_rewrite 莫名其妙的无效了。不知道后来效果了

  5. 啊?忘了说了 要分开单词与单词拼音与单词之间分隔 在输入标题的时候加个空格就行了。

发表评论

电子邮件地址不会被公开。 必填项已用*标注