怎么用纯代码限制评论间隔时间 - WordPress教程

在设定的时间内,除了对当前文章生效,对其他文章同样生效,需过了设定时间才可继续评论

各种垃圾评论让我们防不胜防,但我们可以通过合理的设计各种限制,在一定情况下缓解。这一次分享的就是限制用户评论太快的代码。

怎么用纯代码限制评论间隔时间 - WordPress教程

在设定的时间内,除了对当前文章生效,对其他文章同样生效,需过了设定时间才可继续评论。

在主题根目录下的functions.php文件中的<?php下添加以下代码并保存。

//评论间隔
add_filter('comment_flood_filter', 'suren_comment_flood_filter', 10, 3);
function suren_comment_flood_filter($flood_control, $time_last, $time_new)
{
 $seconds = 60;//间隔时间
 if(($time_new - $time_last) < $seconds)
 {
	$time=$seconds-($time_new - $time_last);
wp_die ('评论过快!请'. $time.'秒后再次评论');
 }
 else
 {
 return false;
 }
}

实战优化

  • 在实战中,需要将函数内的信息抽离到外部,方便维护,
  • 贴合实际体验,添加了返回按钮,避免用户误操作
 add_filter('comment_flood_filter', array(__CLASS__, 'suren_comment_flood_filter'), 10, 3);

/**
         * 效果:两次评论之间间隔
         * 来源:https://www.npc.ink/19960.html
         */
        public static function suren_comment_flood_filter($flood_control, $time_last, $time_new)
        {
$interval_time = 5; 
            $seconds = $interval_time; //间隔时间

            if (($time_new - $time_last) < $seconds) {
                $time = $seconds - ($time_new - $time_last);
                $message = '评论过快!请' . $time . '秒后再来评论';
                $message .= '<br/><a href="#" onclick="history.back();">
                <button class="button" style="margin: 1em 0;">返回</button>
                </a>';
                wp_die($message);
            } else {
                return false;
            }
        }

相关推荐

怎么用纯代码限制评论间隔时间 - WordPress教程-Npcink
怎么用纯代码限制评论间隔时间 - WordPress教程-Npcink

怎么禁止纯英文、纯日文评论? - WordPress教程

怎么用纯代码限制评论间隔时间 - WordPress教程-Npcink
怎么用纯代码限制评论间隔时间 - WordPress教程-Npcink

怎么控制最小和最大评论字数? - WordPress教程

教程

未登录全站图片模糊 - WordPress教程

2020-11-3 18:07:40

教程

怎么获取指定分类文章下的所有标签 - WordPress教程

2020-11-13 0:37:00

⚠️
Npcink上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。
无意侵害您的权益,请发送邮件至 1355471563#qq.com 或点击右侧 私信:Muze 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索