蜗牛789
主机测评与优惠

设置WordPress每篇文章每用户仅限评论一次 防止信息量大

今天在浏览露兜博客的时候看到在WordPress版块有这样的功能,限制每个用户在每篇文章只能评论一次,是根据检测当前这篇文章用户名和邮箱是不是已经有过记录来判断的。不过这样的方法可能对于少部分用户会有用途,对于大部分用户博客、网站是用途不大的,比如网友留言提问,你回答之后,用户再来询问难道不允许?

这里蜗牛也把方法记录过来,如果有用到的朋友可以参考,建议还是最好不要使用。

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);

这个脚本参考来自:https://www.ludou.org/wordpress-only-allow-comment-once-per-post.html

使用方法:

将脚本添加到当前主题的Functions.php文件中即可生效。

About 蜗牛

【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。





评论 抢沙发

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