WordPress防垃圾评论 如何设置每篇文章只允许评论一次

文章目录

关于WordPress防垃圾评论的方法有很多,可以通过插件或纯代码的方式解决。本站更偏向于使用代码,曾在如何通过纯代码实现WordPress防垃圾评论文章中简介过如何防止垃圾评论,使用文章中简介的方法,基本可以拦截90%以上的垃圾评论。在此文章中再为大家简介一个防垃圾评论的方法,就是通过在主题的functions.php文件添加一段代码,实现每篇文章每个用户只能评论一次,当然此方法可以有效防止重复垃圾评论,但也有可能给正常用户带来不好体验。

设置方法

设置方法很简单,只需在你主题functions.php文件加入下面代码即可。至于效果可以自行测试。

// 获取评论用户的ip function ludou_getIP() { $ip = $_SERVER['REMOTE_ADDR']; $ip = preg_replace( '/[^0-9a-fA-F:., ]/', '', $ip );

return $ip; }

function ludou_only_one_comment( $commentdata ) { global $wpdb; $currentUser = wp_get_current_user();

// 不限制管理员发表评论 if(empty($currentUser->roles) || !in_array('administrator', $currentUser->roles)) { $bool = $wpdb->get_var("SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = ".$commentdata['comment_post_ID']." AND (comment_author = '".$commentdata['comment_author']."' OR comment_author_email = '".$commentdata['comment_author_email']."' OR comment_author_IP = '".ludou_getIP()."') LIMIT 0, 1;");

if($bool) wp_die('本站每篇文章只允许评论一次。点此返回'); }

return $commentdata; } add_action( 'preprocess_comment' , 'ludou_only_one_comment', 20);

推荐站内搜索:国内linux主机、一般服务器托管多少钱、域名注册查询、vip域名、域名 价格、外贸空间、虚拟主机0元购买、服务器高防香港、云虚拟主机、免费服务器永久使用、