WordPress如果使用中文标签,会出现错误提示:如果做了伪静态,则提示找不到文章,否则提示404错误。

错误跟服务器设置有一定关系。但我们也可以对源码略作修改,彻底解决问题。

方法:

打开wp-include中的class-wp.php,找到以下两处代码进行修改

1、把142行

$pathinfo = $_SERVER['PATH_INFO'];

替换成

$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'UTF-8', 'GBK');

2、把147行

$req_uri = $_SERVER['REQUEST_URI'];

替换成

$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'UTF-8', 'GBK');

PS:保存文章时,傻冒得智能处理把引号自动转为了中文格式,如果粘贴上面的代码,请自己改正引号。

3、打开wp-include中的link-template.php,搜索函数get_pagenum_link,增加一行如下:

// 增加此行,解决中文标签页码乱码
$result = esc_url( mb_convert_encoding($result, "UTF-8", "GBK") );

作者 xingzhou

发表回复