为 WordPress 评论功能增加字数长度限制

2017-04-24 06:09 1,153 22 条评论 龙笑天下
Dragon主题购买

为 WordPress 评论功能增加字数长度限制

很多读者在你的 WordPress 博客留言都是仅仅为了一个外链,所以他们很忙,随便发个“好文章”“顶一个”这样毫无意义的评论,虽然你可以手动删除他们,但是如果你的网站很受欢迎,删除评论也是很耗时间的!而有些评论字数又超长了,像一篇论文一样,动辄几千字,而且还是从其它地方直接复制黏贴的毫无意义的评论,这个就不大好了吧。

因此龙笑天下建议限制你的 WordPress 站点评论内容的最小字数和最大字数,这样应该是可以避免不少简短和超长的评论。

当然,可以适当的做一些判断,比如,判断是否为管理员或者是否为登录用户,这样可以只限制未登录用户的评论。

这个功能其实实现起来很简单,只要利用好 WordPress 为我们提供的 preprocess_comment 钩子即可,使用这个钩子可以实现对评论内容的各种处理,不管是过滤评论中的恶意链接还是处理特定的垃圾评论,通过 preprocess_comment 钩子我们都可以实现。

将下面的代码添加到当前 WordPress 主题的 functions.php 文件:

/**
 * 为 WordPress 评论功能增加字数长度限制 - 龙笑天下
 * https://www.ilxtx.com/limit-wordpress-comment-length.html
 */
function lxtx_set_comments_length($commentdata) {
	$minCommentlength = 5; //最少字數限制,建议设置为 5-10 个字
	$maxCommentlength = 220; //最多字數限制,建议设置为 150-200 个字
	$pointCommentlength = mb_strlen($commentdata['comment_content'],'UTF8'); //mb_strlen 一个中文字符当做一个长度
	if ( ($pointCommentlength < $minCommentlength) && !is_user_logged_in() ){
	err('抱歉,您的评论字数过少,最少输入' . $minCommentlength .'个字(目前字数:'. $pointCommentlength .')【登录后无此限制】');
	exit;
	}
	if ( ($pointCommentlength > $maxCommentlength) && !is_user_logged_in() ){
	err('抱歉,您的评论字数过多,最多输入' . $maxCommentlength .'个字(目前字数:'. $pointCommentlength .')【登录后无此限制】');
	exit;
	}
	return $commentdata;
}
add_filter('preprocess_comment', 'lxtx_set_comments_length');

---- 代码参考自君子不器

因为本站已经通过下面的方法,启用了管理员必须登录才能评论的功能,因此上面的代码只对未登录用户的评论设置了限制,而没有对管理员进行额外的判断。大家可在本文评论处测测效果哈。

WordPress 防止冒充博主昵称或邮箱留言-BG
WordPress 防止冒充博主昵称或邮箱留言

WordPress 防止冒充博主昵称或邮箱留言

WordPress 一直以来都有个问题, 如果博主设置评论不需要审核批准就能发表, 那么有可能被人冒名顶替管理员进行留言。大家应该都知道,Wordpress 留言显示的头像是通过留言者的 Em...

友情提示,如果你的主题不支持 AJAX,就请将上述代码中的err改为wp_die

最后,更多防范垃圾评论的方法可详见下文:

纯代码实现屏蔽 WordPress 垃圾评论 跟 Spam 说再见-BG
纯代码实现屏蔽 WordPress 垃圾评论 跟 Spam 说再见

纯代码实现屏蔽 WordPress 垃圾评论 跟 Spam 说再见

垃圾评论,如今可以说是无处不在,作为 WordPress 使用者的我们,防止垃圾评论的侵扰是必须要做的。而且垃圾评论也就算了,居然还不访问我们的网站直接用脚本刷,连个 pv 值都不贡献下,太抠啦,不...

「点点赞赏,手留余香」

还没有人赞赏,快来当第一个赞赏的人吧!

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

2017-03-31

2017-05-01

发表评论

表情 格式 贴图 链接 私密 签到
Dragon主题购买阿里云特价云服务器1核2G低至86元,N4共享型服务器3年仅需799元腾讯云特价云服务器1核2G 88元/年 2核4G3M688元/3年,更有千元代金券礼包免费领!
评论
正在努力加载中...
扫一扫二维码分享
×
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept”, you consent to the use of ALL the cookies. Learn more