扫描二维码在手机上浏览

彻底解决 wordpress 中文标签 404 以及无法翻页问题

WordPress 是世界上最受欢迎也是最流行的博客系统,不过 WordPress 在中文支持上还存在不少问题,比如 WordPress 中文标签链接打不开,提示“404 页面未找到”。

产生中文 TAG 标签链接无法打开的原因在于 WordPress 不支持中文的编码。

遇到了同样问题的朋友,可以直接把以下这段代码扔到主题的 functions.php 中!

/*
Plugin Name: IIS Chinese Tag Permalink
Plugin URI: http://blog.bossma.cn/php/in-iis-wordpress-chinese-tag-permalinks-plugin/
Description: In IIS, wordpress use Chinese Tag permalink
Author: BOSSMA.CN
Author URI: http://blog.bossma.cn/
Version: 1.2
*/
add_action(‘init’, ‘bossma_get_urf8_pathandurl’);
add_filter(‘get_pagenum_link’,’bossma_set_utf8_pagenumlink’);
add_action(‘parse_query’,’bossma_chinese_tag_encode’);

//iis encoding the url with GBK,but wordpress with utf-8
function bossma_get_urf8_pathandurl() {
$_SERVER[‘PATH_INFO’]=iconv(“GBK”,”UTF-8″,$_SERVER[‘PATH_INFO’]);
$_SERVER[‘REQUEST_URI’]=iconv(“GBK”,”UTF-8″,$_SERVER[‘REQUEST_URI’]);
}

//urlencode for chinese tag
//sometimes preg_match can not match the chinese correctly
function bossma_chinese_tag_encode($query){
if(isset($is_tag)&&$is_tag){
if($query->query_vars[‘tag’]!=”){
$query->query_vars[‘tag’]=urlencode($query->query_vars[‘tag’]);
}
}
}

//for generate tag pagenum link
//use utf8 encode
function bossma_set_utf8_pagenumlink($result){
$tag_index=stripos($result,”/tag/”);
$link_len=strlen($result);
if($tag_index!==false){
$link_base=substr($result,0,$tag_index);
$page_index=strripos($result,”/page/”);
if($page_index!==false){
$tag_str=substr($result,$tag_index+5,$page_index-$tag_index-5);
$result=$link_base.”/tag/”.rawurlencode($tag_str).substr($result,$page_index);
}else{
$tag_str=substr($result,$tag_index+5);
$result=$link_base.”/tag/”.rawurlencode($tag_str).”/”;
}

}
return $result;
}

赞 0 打赏
分享到: 更多 (0)
分享海报
版权声明
网站资源均来自于网络,如有侵权请联系删除:
文章地址:小武博客 » 彻底解决 wordpress 中文标签 404 以及无法翻页问题

评论 抢沙发

  • *
  • *
  • Q Q(选填)
图片正在生成中,请稍后...

周五

04/10

彻底解决 wordpress 中文标签 404 以及无法翻页问题

WordPress 是世界上最受欢迎也是最流行的博客系统,不过 WordPress 在中文支持上还存在不少问题,比如 WordPress 中文标签链接打不开,提示“404 页面未找到”。 产生中文 TAG 标签链接无法打开的原因在于 WordPress 不支持中文的编码。 遇到了同样问题的朋友,可以直接把以下这段代码扔到主题的 functions.php 中! /* Plugin Name:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

登录

18 + 19 =
记住我

注册

16 + 34 =