29

有的人用文章名做固定链接(%postname%),但是汉字标题出来后,地址栏的链接就变为一长串符号了,减少了可读性。经过多方取经,终于知道了不用插件只需简单的修改两句代码就可以支持汉字链接了。

打开wp-includes文件夹,找到classes.php,修改其中的两行,如下。
下面是截取第152行到159行(WordPress 2.8.2版本,其他版本可能位置不同,可用Ctrl+F查找$pathinfo = $_SERVER['PATH_INFO']来确定位置),其中改变的是153行、158行。

152
153
154
155
156
157
158
159
if ( isset($_SERVER['PATH_INFO']) )
	$pathinfo = $_SERVER['PATH_INFO'];
else
	$pathinfo = '';
$pathinfo_array = explode('?', $pathinfo);
$pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
$req_uri = $_SERVER['REQUEST_URI'];
$req_uri_array = explode('?', $req_uri);

修改为:

152
153
154
155
156
157
158
159
if ( isset($_SERVER['PATH_INFO']) )
	$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'],"UTF-8","GBK");
else
	$pathinfo = '';
$pathinfo_array = explode('?', $pathinfo);
$pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'],"UTF-8","GBK");
$req_uri_array = explode('?', $req_uri);

修改后,保存,上传。OK!已经可以支持汉字链接了。

相关文章

Category : WordPress

8 Responses to “让WordPress支持中文tag和链接”


花茶 31/07/2009

不错,但还是喜欢用英文。

Notify
vayu 31/07/2009

哈哈! ;-) 凭个人喜好了!

Notify
小程 01/08/2009

这确实是个好方法,记得firefox直接可以显示正确,不过IE就不行。而对于搜索引擎,其实它们是能读懂的。

Notify
jacobxx 01/08/2009

不错,拜读了

Notify
cuiqingyao 02/08/2009

办法就是不错的,

但我看了下你自已的博客的网址都是字母啊,为什么不用你说的这个方法呢?

Notify
vayu 03/08/2009

cuiqingyao :

办法就是不错的,

但我看了下你自已的博客的网址都是字母啊,为什么不用你说的这个方法呢?

我比较常用IE,IE还是显示字符,不显示汉字。

Notify
William 06/11/2009

你好,请问你用的是哪里的空间?如果可以请发个邮件告诉我好么?谢谢

Notify