首页» 教程» Wordpress教程» WordPress 中文标签 404 以及无法翻页问题-用户交互(八)

WordPress 中文标签 404 以及无法翻页问题-用户交互(八)

Hello,嗨,大家好,我是哈喽猿。

这里是哈喽猿网

今天推送的是wordpress教程的文章,感谢您宝贵的时间阅读

WordPress是世界上最受欢迎和最流行的博客系统,但WordPress在中文支持下仍然存在很多问题,比如WordPress中文标签链接无法打开,这表明"404页还没有找到"。

中文标签链接不能打开的原因是WordPress不支持中文编码。这个博客之前分享了修改WordPress程序代码来解决这个问题的方法(见"WordPress中文标签404错误解决方案"),但是这种方法有两个缺点,一个是每次升级WordPress之后修改文件不方便,另一个是它没有拒绝中文标签的翻页问题。

今天,"意外"发现了一个插件(事实上,它花了很长时间才找到它)。最后,这个问题已经完全解决了!

插件名称:IISChineseTagPermalink

插件地址:https://wordpress.org/plugins/iis-chinese-tag-permalink/

遇到同样问题的朋友,只需直接安装上面的插件即可。如果有"插件强迫症"不想安装插件,您可以将以下代码直接抛到函数s.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 评论

提供最优质的资源集合

站长留言