在
WordPress 网站运营中,评论功能能增强
用户互动,但也可能遭遇
恶意刷评、
广告刷屏等问题。这类行为不仅影响评论区秩序,还可能给服务器带来额外负载。其实,通过一段简单的代码,我们就能为网站添加评论间隔时间限制,有效遏制刷评行为。
限制重复评论间隔时间的核心思路是:记录用户每次评论的时间,当检测到两次评论的时间间隔过短时,阻止新评论提交并提示用户。具体实现代码如下:
这段代码的工作机制可以拆解为三个部分:
-
钩子挂载:通过add_filter('comment_flood_filter', 'suren_comment_flood_filter', 10, 3)
将自定义函数挂载到 WordPress 的comment_flood_filter
过滤器上。这个过滤器专门用于评论防刷屏控制,会在用户提交评论时触发。
-
时间间隔判断:自定义函数suren_comment_flood_filter
接收三个参数:$flood_control
(默认的防刷屏控制结果)、$time_last
(上一次评论的时间戳)、$time_new
(当前评论的时间戳)。函数中通过$seconds = 90
设定了评论间隔时间(默认 90 秒,可自定义),然后计算两次评论的时间差。如果时间差小于设定的间隔时间,就判定为 “评论过快”。
-
提示与拦截:当检测到评论过快时,通过err()
函数输出提示信息,告知用户还需等待多少秒才能再次评论(例如 “评论过快!请 30 秒后再次评论”);若时间间隔符合要求,则返回false
,允许评论正常提交。
-
调整间隔时间:代码中的$seconds = 90
表示限制间隔为 90 秒,可根据网站需求修改数值(如改为 60 秒、120 秒等)。数值越小,对用户评论的限制越宽松;数值越大,防刷评效果越强,但可能影响正常用户的连续互动。
-
添加代码:将修改后的代码复制到当前使用主题的functions.php
文件中,保存后即可生效。无需安装额外插件,轻量化解决评论刷屏问题。
通过这种方式,既能保留评论功能的互动价值,又能有效维护评论区秩序,是中小网站应对刷评问题的实用方案。