Discuz模板|Discuz插件|Discuz教程|Discuz素材免费下载

 找回密码
 立即注册

QQ登录

只需一步,快速开始

广告
温馨提示:本站所有DZ相关模板、插件、教程(包括DZ应用中心已下架插件、模板)所有用户可全部免费下载,无任何收费模式(不包括VIP版块非DZ资源,VIP版块需购买会员组方可下载),如本站没有您需要的插件或模板,请自行前往淘宝互站网送吗网等第三方站点搜索相关插件或模板进行低价格购买下载本站非常不建议用户浪费金钱前往DZ应用中心购买。

【实测】Discuz tag 标签重复显示的解决方法

[复制链接]
tuyuanma 发表于 2019-7-16 14:22:13 | 显示全部楼层 |阅读模式
温馨提醒:禁止内容附带广告图片、二维码图片,否则将在不通知情况下永久禁言账号!
欢迎加入兔源码站长交流群,您的加入是我们前行的动力!

DZ站长建站交流群:493651246

[ 温馨提示:点击上方群文字,可快速加入QQ群 ]


方法一:5 O& l; {+ N5 {
Discuz 标签重复:编辑帖子时,标签会越来越多,有的tag是自动生成的,即使将不需要的标签删除,保存以后还是会增加很多莫名其妙的标签。
/ Z0 ]3 P+ p6 e+ y$ u8 J; B: N) D) D9 Z8 J, C# x, y0 Y
Discuz tag重复的问题,可以通过修改数据库来实现。
- J' z# e* i7 t7 ?& i解决Discuz tags重复的思路:
9 [8 H( }- T; U& x7 |! N( \" V- S2 Z) N将指定帖子的tags字段重置为空白
; R  W0 w" H3 L重新编辑帖子,输入新的标签。! G; v" M5 p& A+ c2 v
你可以通过程序或者MySQL客户端,在成功连接数据库并选择数据库以后执行以下SQL语句重置帖子标签.
4 n( `  g3 }+ `* \: ]7 T) `其中x3_是表前缀,tid是要重置标签的那个帖子的id,这两个值需要自行修改
  1. UPDATE `x3_forum_post` SET `tags` = '' WHERE `tid` = '4415' AND `first` = 1;
复制代码
重置tags字段以后,重新编辑主题帖,输入新的标签即可彼一时设tags标签。4 }$ J9 U8 n+ Q

& o* j4 B( y. m; m0 T) {- W, n方法二:# @5 W& A9 U  J9 H# E
Discuz帖子下方的tag标签重复显示,表现为相同的tag标签多次显示,帖子编辑次数越多,tag重复的次数越多。
) A3 @& v( r' c- `Discuz!官方直到Discuz X3.2也没有解决tag重复的问题。
$ t7 s* J) o" y2 \要解决Discuz标签重复,可以通过修改source\module\forum\forum_viewthread.php来实现。% I/ ?: A  p  E( V7 m, w4 p9 U+ I6 a
用notepad++之类的文本编辑软件打开forum_viewthread.php,搜索以下内容
  1. $tagarray_all = explode("\t", $post['tags']);
复制代码
将该行下方的以下代码
  1.    if($tagarray_all) {
    . L" h- T9 ^  ~
  2.                                 foreach($tagarray_all as $var) {
    5 G  |5 M5 x7 }/ l! y( r
  3.                                         if($var) {; S2 ?/ c0 E% L
  4.                                                 $tag = explode(',', $var);: i, G2 o4 C0 {8 e
  5.                                                 $posttag_array[] = $tag;( b0 P) _( H) U+ a# q, |# V1 K8 G! U6 v
  6.                                                 $tagnames[] = $tag[1];3 p; n* @9 Y& w: e! H& k
  7.                                         }
    7 \# @7 s3 f' m+ d7 [# q3 w
  8.                                 }- z1 Q# d, E& B& ^1 Z( K
  9.                         }
复制代码
修改为
  1.    $tagIds=array();  S" O4 J' D! X6 _8 l
  2.                         if($tagarray_all) {$ X8 o6 f1 y( ^) {/ ]0 D
  3.                                 foreach($tagarray_all as $var) {
    : O2 B0 J& v& U0 f) W' m: v
  4.                                         if($var) {# {, [' ?" \9 g/ @) J
  5.                                                 $tag = explode(',', $var);
    , k- R& X' I3 Y$ K
  6.                                                 if(in_array($tag[0], $tagIds, true)){
    - c  S; `" j& R; `1 z& q& ~/ W
  7.                                                         continue;
    & P% r% I  O+ `+ u) B
  8.                                                 }
    ' `' ?1 ]* O+ a2 G( M$ V: z
  9.                                                 $tagIds[]=$tag[0];! |: ]) W7 {' f8 `, M( [0 d0 K
  10.                                                 $posttag_array[] = $tag;
    . u: V0 M! ^8 ]7 l5 L
  11.                                                 $tagnames[] = $tag[1];
    4 Y' m2 e0 f; Y3 O/ p6 i& u
  12.                                         }) D- _9 Y! d8 R0 E1 b
  13.                                 }
    + u- y% \$ @  o, k
  14.                         }
复制代码

4 k8 D; U/ J4 T( G: s4 V

版权声明
1、转摘或引用本站内容资源须注明原网址,并标明本站网址(兔源码www.tuyuanma.com);
2、对于转摘或引用本站内容资源而引起的民事纠纷、行政处罚或其他损失,本站不承担责任;
3、对于不遵守本声明或其他违法、恶意使用本站内容者,本站保留其追究法律责任的权利。




自动排版 | 高级模式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广告
493651246站长邮箱:tuyuanma@qq.com 站长QQ:3197813386

© 2001-2013 本站内容皆来自互联网及用户分享,如需删除请提供软著或商标证书。

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