欢迎光临
我们一直在努力
卡尔云 大网数据--高防低价服务器抢购 低至28/月十堰4-4就在零零陆云计算 金华高防物理机 40H64G 30M 158/月 819云计算香港20MCN2 300元/月
林枫云-专注独立IP高频VPS 低价高性价比—迅速云 GoDo云计算韩国物理机低至299元/月 龍行数据:美国100M服务器 299元/月 络V云计算:新加坡100M服务器 1200元/月
CNMCDN防护稳定又实惠 轻松云:美国200兆VPS16元/月 亦宁云200M大带宽 动态BGP低至35/月 低价高效上云-道之云网络 【科御云】香港CDN、延迟低速度快防御高

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)
未经允许不得转载:沃园 » WordPress防垃圾评论 如何设置每篇文章只允许评论一次

评论 抢沙发

评论前必须登录!

立即登录   注册