主机、服务器测评
服务器促销信息及建站资源分享

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

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

赞(0)
聲明:
1、本博客不從事任何主機及服務器租賃業務,不參與任何交易,也絕非中介。博客內容僅記錄博主個人感興趣的服務器測評結果及一些服務器相關的優惠活動,信息均摘自網絡或來自服務商主動提供;所以對本博客提及的內容不作直接、間接、法定、約定的保證,博客內容也不具備任何參考價值及引導作用,訪問者需自行甄別。

2、訪問本博客請務必遵守有關互聯網的相關法律、規定與規則;不能利用本博客所提及的內容從事任何違法、違規操作;否則造成的一切後果由訪問者自行承擔。

3、未成年人及不能獨立承擔法律責任的個人及群體請勿訪問本博客。

4、一旦您訪問本博客,即表示您已經知曉並接受了以上聲明通告。

文章名稱:《WordPress防垃圾评论 如何设置每篇文章只允许评论一次》
文章鏈接:https://www.zhuji999.com/9600.html