当前位置:首页 > 个人杂谈 > 正文内容

解决WordPress使用Window服务器中TAG翻页出错的办法

2019-01-17 | 分类:个人杂谈 浏览:364次

今天无意中点击tag翻页时,发现页面打不开,出现404错误,我记得之前已经修复了TAG网址的出错,但没有注意翻页也存在问题。今天顺便将之也修复了。

解决WordPress使用Window服务器中TAG翻页出错的办法

我们写标签(tag)时都是使用中文,而WordPress的tag是采用UTF-8编码方式,而Window服务器不支持UTF-8编码,从而造成乱码的情况,当我们点击TAG链接时,因为有乱码的关系导致访问出错。

有了之前修改tag链接的经验,这次修复也是相当简单,找到functions.php中的调用函数,将链接部分加上UTF-8编码转换成GBK编码即可,以下代码红字部分就是后来添加的:

//分页
function pagination($query_string){
global $posts_per_page, $paged;
$my_query = new WP_Query($query_string .”&posts_per_page=-1″);
$total_posts = $my_query->post_count;
if(empty($paged))$paged = 1;
$prev = $paged – 1;
$next = $paged + 1;
$range = 4; // 分页数设置
$showitems = ($range * 2)+1;
$pages = ceil($total_posts/$posts_per_page);
if(1 != $pages){
echo “<div class=’pagination’>”;
echo ($paged > 2 && $paged+$range+1 > $pages && $showitems < $pages)? “<a href=’”.mb_convert_encoding(get_pagenum_link(1),”UTF-8″, “GBK”).”‘ class=’fir_las’>最前</a>”:”";
echo ($paged > 1 && $showitems < $pages)? “<a href=’”.mb_convert_encoding(get_pagenum_link($prev),”UTF-8″, “GBK”).”‘ class=’page_previous’>« 上一页</a>”:”";
for ($i=1; $i <= $pages; $i++){
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )){
echo ($paged == $i)? “<span class=’current’>”.$i.”</span>”:”<a href=’”.mb_convert_encoding(get_pagenum_link($i),”UTF-8″, “GBK”).”‘ class=’inactive’ >”.$i.”</a>”;
}
}
echo ($paged < $pages && $showitems < $pages) ? “<a href=’”.mb_convert_encoding(get_pagenum_link($next),”UTF-8″, “GBK”).”‘ class=’page_next’>下一页 »</a>” :”";
echo ($paged < $pages-1 &&  $paged+$range-1 < $pages && $showitems < $pages) ? “<a href=’”.mb_convert_encoding(get_pagenum_link($pages),”UTF-8″, “GBK”).”‘ class=’fir_las’>最后</a>”:”";
echo “</div>\n”;
}
}

忝加UTF-8编码转换成GBK编码后,tag翻页的链接也可以访问了,这个空间还在1个月左右,打算空间到期后转为Linux空间,最主要想将http改为https,现在使用Window服务器连301转向都不能实现,WordPress与Linux空间才是最搭配的。

文章由葛一速博客原创,转载请注明出处:http://www.geyisu.com/558.html

  • 评论:(0)

已有 0 位网友发表了一针见血的评论,你还等什么?

◎欢迎大家参与讨论

站内搜索