WordPress评论回复添加验证码防止垃圾评论

WordPress一旦开启文章评论时,垃圾评论就会多。特别是一些英文评论,很多都是通过软件机器自动回复发布,而IP地址都一样。而防止垃圾评论方法也很多。最方便的就是在后台讨论设置开启用户必须注册并登录才可以发表评论、评论必须经过人工批准。还有就是给评论添加验证码才能回复的功能。

也可能通过WordPress防垃圾评论插件:如Akismet(这个要激活才能有效,可能通过后台搜索插件安装)、myQaptcha插件(用于滑动解锁后才能发表评论,下载地址https://wordpress.org/plugins/myqaptcha/)。如果不喜欢用插件或者只需要个简单的算术验证码,可以直接在wordpress主题里使用以下介绍的代码实现。

以下是非插件实现wordpress评论数学算术验证码的方法。将以下代码添加到主题的functions.php文件

//wordpress评论添加验证码

function spam_protection_math(){

$num1=rand(0,9);

$num2=rand(0,9);

echo "<label for=\"math\">请输入 <i>$num1 + $num2 = ?</i> 的计算结果:</label>\n";

echo "<input type=\"text\" name=\"sum\" class=\"text\" value=\"\" size=\"25\" tabindex=\"4\">\n";

echo "<input type=\"hidden\" name=\"num1\" value=\"$num1\">\n";

echo "<input type=\"hidden\" name=\"num2\" value=\"$num2\">";

}

function spam_protection_pre($commentdata){

$sum=$_POST['sum'];

switch($sum){

case $_POST['num1']+$_POST['num2']:

break;

case null:

wp_die('对不起: 请输入验证码。<a href="javascript:history.back(-1)">返回上一页</a>','评论失败');

break;

default:

wp_die('对不起: 验证码错误,请<a href="javascript:history.back(-1)">返回</a>重试。','评论失败');

}

return $commentdata;

}

if($comment_data['comment_type']==''){

add_filter('preprocess_comment','spam_protection_pre');

}

在当前主题的comments.php找到相关要显示的位置添加以下验证码调用代码

<?php spam_protection_math();?>

WordPress评论回复添加验证码防止垃圾评论

具体添加可能主题不同,添加位置也不同,多数在submit,value=”提交留言”、value=”提交评论”、添加。

原创文章,作者:陌涛,如若转载,请注明出处:https://imotao.com/649.html

(1)
陌涛的头像陌涛
上一篇 2019年8月22日 下午6:12
下一篇 2019年8月22日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据