WordPress中如何限制非管理员用户在文章后只能评论一次
发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,这篇文章将为大家详细讲解有关WordPress中如何限制非管理员用户在文章后只能评论一次,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。暂不说这个需求有没有用,毕竟W
千家信息网最后更新 2024年11月20日WordPress中如何限制非管理员用户在文章后只能评论一次
这篇文章将为大家详细讲解有关WordPress中如何限制非管理员用户在文章后只能评论一次,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
暂不说这个需求有没有用,毕竟WordPress就是给有各种需求的人用的。这个功能实现起来也比较简单,只需每次用户发表的评论进数据库之前,从当前文章的所有评论中查找是否有相同的用户名或邮箱已经发表过评论,如果有就跳到错误页面即可。
实现代码,放到当前主题的functions.php中即可(这里还增加了对IP的判断,更保险):
// 获取评论用户的ip,参考wp-includes/comment.phpfunction 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('本站每篇文章只允许评论一次。点此返回'); } return $commentdata;}add_action( 'preprocess_comment' , 'ludou_only_one_comment', 20);
这里没有限制管理员的评论次数,那我们顺带着看一下判断用户是否为管理员的方法:
判断指定id的用户是不是管理员
该需求实现起来非常简单,几行代码搞定,分享一下:
function ludou_is_administrator($user_id) { $user = get_userdata($user_id); if(!empty($user->roles) && in_array('administrator', $user->roles)) return 1; // 是管理员 else return 0; // 非管理员}
判断当前登录用户是不是管理员
如果是判断当前登录用户是不是管理员,可以使用下面的函数:
function ludou_is_administrator() { // wp_get_current_user函数仅限在主题的functions.php中使用 $currentUser = wp_get_current_user(); if(!empty($currentUser->roles) && in_array('administrator', $currentUser->roles)) return 1; // 是管理员 else return 0; // 非管理员}
关于"WordPress中如何限制非管理员用户在文章后只能评论一次"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
管理员
管理
用户
评论
文章
限制
篇文章
需求
主题
代码
函数
更多
参考
登录
不错
实用
相同
内容
功能
只需
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
江苏网络技术服务优化价格
网络安全责令整改
俄乌网络安全战整体状况
软件开发怎么产生抵扣
什么属于维护网络安全的措施
平台软件开发公司聚顶科技
mc服务器管理员手机版
饥荒怎样找到自己的服务器
安全运维与软件开发课的区别
数据库表两个表怎么合成
数据库草稿数据
有专业炒股软件开发
u点家庭服务器 管理
典阅科技互联网创新创业大赛
网络安全板块开盘集体走强
手机国际版mc创建服务器
世纪家园数据库下载
导航数据库有效时间范围
vb 数据库.move
互联网保险科技创业
云数据库和云服务器价格
汉家江湖用什么软件开发的
h3c服务器渠道
mysql数据库是二维表
步道乐跑什么时候关服务器
qq三国安徽服务器
服务器上创建用户账号
静海区网络技术售后服务
强网杯网络安全大赛2021
审判软件开发