Discuz tag 标签重复显示的解决方法

Nokia 发表于 2016/5/8 20:51 | 显示全部楼层 |阅读模式
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.                         }
复制代码
保存文件,上传到服务器覆盖原始文件即可解决Discuz! tag重复的问题。

手机版|轻松E站

E-mail: OHCC@163.COM

快速回复 返回顶部 返回列表