3个月不评论则不显示评论链接的思路及实现办法

in #cn6 years ago

以前分享的『天降横祸被违规 设置满月后不显示评论链接规避』文章中说到很久以前的网友评论时所填写的网址,可能他们已经放弃了网站,导致这个域名已经跳转或者变成了 DU BO 网站。如果评论地址设置为 GO 跳转地址的,这些链接地址甚至会被百度云加速误以为是我们的站点从而被判为违规网站,所以当时就把 GO 跳转地址去掉,并设置了评论超过一个月后就不再显示该评论作者的链接地址。

180427_silu.jpg

后来有博主反馈说这种简单粗暴地设置“评论超过一个月之后就不再显示该评论作者的链接地址”的做法很不好,万一有用户看到某篇文章的评论很精彩或者很有意义,想要访问该评论者的博客网站时却无法点击,这样会严重影响用户体验,而且还有可能会打击大家的评论积极性。这个建议真的非常好,但是当初脑子短路没有想到有其他更好的办法代替,所以最后只是把“评论超过一个月之后就不再显示该评论作者的链接地址”改为“评论超过三个月之后就不再显示该评论作者的链接地址”。

今天在工作之余突然又想到这个问题,而且有更好的办法可以代替现在的做法,那就是增加一个判断:如果该条评论的用户最近 3 个月内有评论的,则保留显示链接地址;如果最近 3 个月内都没有评论的,那就不显示链接地址。这样一来就可以去掉有可能存在的链接隐患,也能保证网址链接的有效性,从而提高用户体验。

因为平时我们都是通过邮箱地址来统计评论用户的,所以这次同样以评论邮箱来作为检测条件,大概思路就是写一个函数,获取当前评论的用户邮箱地址,接着搜索评论表获取该邮箱地址最新一条评论的时间,然后与当前时间作对比,如果时间差在 3 个月内就显示评论用户的链接地址,如果超过 3 个月就不显示链接地址。

理论上以链接地址来作为检测条件可能会更好,因为用邮箱地址的话,万一作者的邮箱地址不变,但是博客网址改变了,那么还显示以前的旧评论所留的网址就没有意义了,毕竟网址已经打不开了。判断地址的话,需要考虑的因素很多,比如地址是 HTTP 还是 HTTPS,最后面是带有斜杠/还是没带有等等,所以我就直接偷懒不折腾了。

使用办法就是在我们的主题评论模板中输出评论昵称及链接地址的地方使用这个函数即可。毕竟每一个主题结构可能都不一样,所以本文只是分享具体的思路和一个函数例子而已,至于如何跟主题结合在一起实现该功能就看大家自己的动手能力了。

Coin Marketplace

STEEM 0.20
TRX 0.14
JST 0.030
BTC 67698.91
ETH 3266.83
USDT 1.00
SBD 2.64