!
也想出现在这里? 联系我们
广告位

WordPress 实现文章只允许同一IP评论一次纯代码无插件

WordPress 是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用 PHP 语言和 MySQL 数据库开发的,用户可以在支持 PHP 和 MySQL 数据库的服务器上使用自己的博客。

WordPress 有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用 HTML 代码CSS、PHP 等相关知识。

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

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

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

  1. // 一篇文章只允许同一IP评论一次
  2. //获取评论用户的ip,参考wp-includes/comment.php
  3. function wdp_getIP() {
  4. $ip = $_SERVER['REMOTE_ADDR'];
  5. $ip = preg_replace( '/[^0-9a-fA-F:., ]/', '', $ip );
  6. return $ip;
  7. }
  8. function wdp_only_one_comment( $commentdata ) {
  9. global $wpdb;
  10. $currentUser = wp_get_current_user();
  11. // 不限制管理员发表评论
  12. if(empty($currentUser->roles) || !in_array('administrator', $currentUser->roles)) {
  13. $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;");
  14. if($bool)
  15. wp_die('留言已提交,请勿重复留言。<a href="'.get_permalink($commentdata['comment_post_ID']).'">点此返回</a>');
  16. }
  17. return $commentdata;
  18. }
  19. add_action( 'preprocess_comment' , 'wdp_only_one_comment', 20);

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress 调用指定时间内评论数最多的文章

2022-11-18 18:38:35

WordPress教程

WooCommerce 分类描述里面插入HTML代码和图片

2022-11-18 19:39:41

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索