wordpress 标题乱码|All In One Seo Pack (SEO插件)

在wordpress安装过All In One Seo Pack (SEO插件)之后发现在:标签页、目录页、搜索页等凡是经Seo Pack重写过的标题第一个字符都是乱码。

解决方法:

1. 最简单的解决办法就是:进入Seo Pack设置,将Rewrite Title选择框取消选择,这样Seo Pack就不会重写标题,标题显示为Wordpress默认标题,就不会出现乱码了。

2. 如果想使用Seo Pack的标题重写功能,那么就需要修改Seo Pack的代码,将其中存在bug的地方修改掉,步骤如下:

进入插件->编辑,选择编辑All In One Seo Pack (SEO插件), 然后选择编辑文件:aioseop.class.php,

找到函数:

function capitalize($s)

将下面的一行代码删除或注释掉:

$tokens[$key] = strtoupper(substr($tokens[$key], 0, 1)) . substr($tokens[$key], 1);

然后,将此文件中的函数:ucwords全部替换为:$this->capitalize

导致标题第一个字符乱码的原因是:seo pack总是尝试将标题的第一个字符转化为大写。如果是英文字符,这样做没有问题;但一个中文字符包含两个字节,seo pack会根据一个预设的映射表将第一个字节转化为大写,这样就把这个汉字给破坏了。

其实capitalize函数可以修改的更完善,既保留原有的功能,又不会出现问题。但我不需要它把第一个字符转化成大写,就直接将那一行有问题的代码删除掉了。



郑重声明:
除特别声明为转载内容外,本站所有内容均为作者原创,谢绝任何单位和个人不经许可的复制和转播!
对于确有转载需要的,请先与作者联系,在获得允许后烦请在转载时保留文章出处。
本文出自Lupin's Blog:http://www.cnzui.com/archives/255