中文版的博客程序一般都带有自动截取功能,可是WP却要通过自己插入more标记的方式来进行截取,使用起来不是太方便。于是在网上搜了一下,找到了这个Limit Posts Automatically自动截取插件,安装后发现对于中文完全没有办法正确处理,有的文章截取几个字,有的截取很长一段,实在是没办法用。
在WP的中文论坛http://wordpress.org.cn搜索之后发现很多人都遇到同样的问题,而且还有一个气氛比较火爆的帖子:http://wordpress.org.cn/thread-16279-1-2.html 大概的想了一下,之所以大家找不到合适的插件,原因主要在于中英文的区别上,英文可以采用按照字母Letter进行截取,也可以按照词组Word进行截取,而这两种方式在中文环境下就不适用了。要么截取出来的文字长度不对,要么文字最后总是带着乱码的小尾巴,很是不爽。
我是个C++程序员,对PHP稍微有一点了解,以前也修改过一个PHP的交友程序,当时为了找个能正确截取中文的函数也大费周折,不过终于还是把问题解决了。方法就是使用自己的字符截取函数取代wordwrap函数,函数是现成的,于是把它拷贝到了Limit Posts Automatically中,替换掉wordwrap函数。初步测试,看起来已经比较正常了,只是“阅读全文”几个字还是乱码。没办法继续修改,随后干脆将整个插件汉化,并按照中文习惯,合并了Letter和Word的分割方式,去掉utf8的二次编码,“阅读全文”几个字终于可以正常显示了。
wordpress插件:Limit Posts Automatically中文版-涅槃茶馆