教程解读:
WordPress 在互联网上的使用率为 34%。从爱好博客到新闻网站,很多都使用 WordPress 的源代码。因为用户多,很多人开发了一些软件,批量自动发送垃圾评论。所以 WordPress 在安装的时候自带了一个 Akismet 反垃圾插件,但是还是会有一些漏网之鱼。一般可以开启评论审核,防止垃圾评论第一时间显示,但这并不能阻止垃圾评论。所以我们需要验证码来防止机器人评论广告信息。
在此,爱佑建议不要安装插件,很多插件会影响博客的打开速度。爱游在这里分享的方法,不需要安装任何插件,只需要将代码添加到当前主题的functions.php中,就可以实现验证码功能。
代码如下:
添加两个随机数验证码。
function loper_protection_math(){
# 数字加法两个随机数, 范围 0~99
$num1=rand(0,9);
$num2=rand(0,9);
echo "<input type=\"text\" name=\"sum\" class=\"text\" value=\"\" size=\"25\" tabindex=\"4\" placeholder=\"$num1 + $num2 = ?\" >\n";
echo "<input type=\"hidden\" name=\"num1\" value=\"$num1\">\n";
echo "<input type=\"hidden\" name=\"num2\" value=\"$num2\">";
echo "<label for=\"math\">请输入(计算结果)</label>\n";
}
function loper_protection_pre($commentdata){
$sum=$_POST['sum'];
switch($sum){
case $_POST['num1']+$_POST['num2']:
break;case null:err('错误: 请输入验证码。');
break;default:err('错误: 验证码错误。');}
return $commentdata;}
if($comment_data['comment_type']==''){
add_filter('preprocess_comment','loper_protection_pre');}
英文数字随机数验证码
function loper_protection_math(){
$num1=substr(md5(mt_rand(0,99)),0,5);
# 英文数字随机数, 范围 0~99
echo "<input type=\"text\" name=\"sum\" class=\"text\" value=\"\" size=\"25\" tabindex=\"4\">\n";
echo "<input type=\"hidden\" name=\"num1\" value=\"$num1\">\n";
echo "<label for=\"math\" >请输入( $num1 )</label>\n";
}
function loper_protection_pre($commentdata){
$sum=$_POST['sum'];
switch($sum){
case $_POST['num1']:
break;case null:err('错误: 请输入验证码。');
break;default:err('错误: 验证码错误。');}
return $commentdata;}
if($comment_data['comment_type']==''){
add_filter('preprocess_comment','loper_protection_pre');}
调用代码
<?php loper_protection_math();?>
教程截图
教程结语:
到此本教程结束。
转载请注明:汇站网 » WordPress 评论添加验证码