当前位置:首页WP教程WordPress评论添加验证码

WordPress评论添加验证码

虽然WordPress自带插件Akismet已经非常强大,足以挡住大多数垃圾评论,但Akismet只是将这些垃圾评论放到了“垃圾”里,仍然需要我们手动去清理,如…

虽然WordPress自带插件Akismet已经非常强大,足以挡住大多数垃圾评论,但Akismet只是将这些垃圾评论放到了“垃圾”里,仍然需要我们手动去清理,如果连垃圾评论都不想看到,还是给WordPress评论加个验证机制吧!

首先为表单增加验证字段,在主题文件functions.php中添加如下代码:

function verification_fields($fields) {$num_o = rand(0, 99);$num_t = rand(0, 99);$fields[\'verification\'] = \'<input name=\"num_o\" value=\"\' . $num_o . \'\" type=\"hidden\" />\' .\'<input name=\"num_t\" value=\"\' . $num_t . \'\" type=\"hidden\" />\' . \'<p ><label for=\"verification-code\">验证:</label>\' .$num_o . \' + \' . $num_t . \' = \' . \'<input id=\"verification-code\" name=\"pcodes\" type=\"text\" value=\"\" size=\"4\" /></p>\';return $fields;}add_filter(\'comment_form_default_fields\', \'verification_fields\');

这里给评论表单添加了一个算术运算的验证,然后添加提交评论时验证计算结果的代码,仍然是放在主题文件functions.php中:

function verification_code() {if ( ! $user->ID ) {$num_o = trim($_POST[\'num_o\']);$num_t = trim($_POST[\'num_t\']);$pcodes = trim($_POST[\'pcodes\']);if( $pcodes != $num_o + $num_t ) {wp_die( __(\'错误提示:请输入正确的验证码。\') );}}}add_filter(\'pre_comment_on_post\', \'verification_code\');

在实际应用中,这种简单的算术计算可能还是会被灌水,可以考虑将$num_o + $num_t生成为图片,并用条纹干扰再输出,另外隐藏字段中$num_o和$num_t的值可以加密一下,验证那里再解密。

温馨提示:

文章标题:WordPress评论添加验证码

文章链接:https://www.jitheme.com/2517.html

更新时间:2024年03月28日

1.本站大部分内容均收集于网络!若内容若侵犯到您的权益,请发送邮件至:service@jitheme.com,我们将第一时间处理!

2.资源所需价格并非资源售卖价格,是收集、整理、编辑详情以及本站运营的适当补贴,并且本站不提供任何免费技术支持。

3.所有资源仅限于参考和学习,版权归原作者所有,更多请阅读极(子)主题网络服务协议

给TA打赏
共{{data.count}}人
人已打赏
WP教程

WordPress不用插件实现评论回复邮件通知

2023-3-8 22:09:56

WP教程

利用生成带参数的二维码接口实现用户关注公众号执行动作

2023-3-8 22:10:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
有新私信 私信列表
搜索
  • 老胡发布圈子测试图片发布
  • 旅途点赞了文章把帮助改成文库?超级牛B!
  • 遛遛开通了月卡会员感谢支持!
  • Cik签到奖励15点积分,继续坚持!
  • 残忆签到奖励5点积分,继续坚持!
  • 老胡对文章测试子主题灯箱幻灯片效果发布评论!