傻大憨

实现wordpress一篇文章只允许同一IP评论一次

在使用wordpress建站时,常常遇到被垃圾留言困扰,有些通过机器发垃圾留言,一发就是成百上千条,这个很烦人,因此,有些人干脆直接在wordpress网站上把留言评论功能给关闭了。

如果你的wordpress主题必须要使用留言评论,有一个办法可以规避这个问题,即实现wordpress一篇文章只鸡同一IP的人评论一次就可以。

将以下代码添加到functions.php中

// 一篇文章只允许同一IP评论一次
//获取评论用户的ip,参考wp-includes/comment.php
function wdp_getIP() {
  $ip = $_SERVER['REMOTE_ADDR'];
  $ip = preg_replace( '/[^0-9a-fA-F:., ]/', '', $ip );
    
  return $ip;
}
function wdp_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 = '".wdp_getIP()."') LIMIT 0, 1;");
    if($bool)
      wp_die('留言已提交,请勿重复留言。<a href="'.get_permalink($commentdata['comment_post_ID']).'">点此返回</a>');
  }

  return $commentdata;
}
add_action( 'preprocess_comment' , 'wdp_only_one_comment', 20);
Published
Categorized as 建站知识 Tagged

By 傻大憨

shadahan.com是一个关注跨境电商、创业话题的网站。

非插件纯代码方式实现WordPress SMTP邮件功能

非插件纯代码方式实现WordPressSMTP邮件功能

如何在WordPress中通过post文章ID获取分类名称

这是个简单的方法,在WordPress中列出一篇文章的所属类别名称。通过以下这段代码就可以实现。

四川哈儿哥网络建站工作室

四川哈儿哥网络建站工作室是一家专注于网站设计与开发的创意团队,致力于为客户提供高效、专业、个性化的网站解决方案… Continue reading 四川哈儿哥网络建站工作室

WordPress外贸建站从初级到高级的全面指南

  WordPress是构建外贸网站的强大平台,而深度学习WordPress建站技能是打造成功网站的关键。本文… Continue reading WordPress外贸建站从初级到高级的全面指南

我能否完全按照我的需求来设计wordpress网站

简站wordpress主题是我用过最简洁最好用的wordpress主题,简站主题的基础框架是固定的,呈现出来的东西,都在后台有对应修改的地方,使用起来非常方便。

什么样的网站不适合使用WordPress?

WordPress作为全球应用最广泛的CMS系统,很好很强大,被从多的网站使用。但是,也不是所有的网站。下面简站WP小编从自己多年WordPress建站经验的角度,给大家讲讲,有哪些网站不适合使用WordPress搭建。