蜗牛789
主机测评与优惠

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

提示:如果官网是英文页面,建议使用谷歌浏览器能同步翻译页面。点击下载【谷歌浏览器最新绿色便携版】
注意:部分文章发布时间较长,可能存在未知因素,购买时建议现在本博客搜索商家名称,先充分了解商家动态。
交流:唯一投稿QQ768187171、唯一投稿邮箱[email protected]、网友交流QQ群号218293922。
推荐:Telegram频道(博文同步推送,部分低价、少量促销信息仅在此频道推送!推荐订阅):https://t.me/wn789
文章目录

关于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('本站每篇文章只允许评论一次。<a href="'.get_permalink($commentdata['comment_post_ID']).'">点此返回</a>');
}

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

About 蜗牛

【声明】:蜗牛789站内所有资源均来自网络,由于网络资源安全性未知,使用前请自行甄别。蜗牛从不强制任何人使用或购买本站介绍的资源,如因自愿选择使用造成的损失自行承担!本博客若无意侵犯到您的权利,请及时与我们联系,我们将在48小时内删除侵权内容!参与评论互动的网友请填写真实的邮箱及昵称,如果昵称很明显的是随意输入、不填写正确邮箱,本博客将视为垃圾评论处理。

赞(0) 打赏
未经允许不得转载:蜗牛789 » WordPress防垃圾评论 如何设置每篇文章只允许评论一次

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏