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 评论