浏览 2555 次 / [ 天下网闻 ] Discuz tag 标签重复显示的解决方法
  • 发布时间 2017-08-10 22:59
  • 最近论坛遇到个问题,Discuz tag标签出了问题,编辑一次就添加一个标签,删都删不掉,看着真TM不爽,于是,想到了解决办法,如下:
    Discuz帖子下方的tag标签重复显示,表现为相同的tag标签多次显示,帖子编辑次数越多,tag重复的次数越多。
    Discuz!官方直到Discuz X3.2也没有解决tag重复的问题。
    要解决Discuz标签重复,可以通过修改source\module\forum\forum_viewthread.php来实现。
    用notepad++之类的文本编辑软件打开forum_viewthread.php,搜索以下内容:

    1. $tagarray_all = explode("\t", $post['tags']);
    复制代码
    将该行下方的以下代码:
    1. if($tagarray_all) {
    2.         foreach($tagarray_all as $var) {
    3.                 if($var) {
    4.                                 $tag = explode(',', $var);
    5.                                 $posttag_array[] = $tag;
    6.                                 $tagnames[] = $tag[1];
    7.                 }
    8.         }
    9. }
    复制代码
    修改为:
    1. $tagIds=array();
    2. if($tagarray_all) {
    3.         foreach($tagarray_all as $var) {
    4.                 if($var) {
    5.                         $tag = explode(',', $var);
    6.                         if(in_array($tag[0], $tagIds, true)){
    7.                                         continue;
    8.                         }
    9.                         $tagIds[]=$tag[0];
    10.                         $posttag_array[] = $tag;
    11.                         $tagnames[] = $tag[1];
    12.                 }
    13.         }
    14. }
    复制代码
    本文选自:http://www.cnblogs.com/yaogua/p/6486622.html 感谢原作者