WordPress中如何限制非管理员用户在文章后只能评论一次
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章将为大家详细讲解有关WordPress中如何限制非管理员用户在文章后只能评论一次,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。暂不说这个需求有没有用,毕竟W
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
软件开发中的系统分析技术
电脑数据库位于哪里
服务器 自动开机
网络安全海军刘毅
湖北贺城网络技术有限公司
计算机网络技术基础华科
甘肃智慧灯杆软件开发
前端获取数据库文本怎么换行
掌玩网络技术离职
中北众成软件开发平台有哪些
提醒女生注意网络安全的文案
数据库如何录入元组
河南现代软件开发出厂价
阿里巴巴专业软件开发
方舟如何在服务器开管理权限
科技互联网推广专员
软件开发及集成技术方案解析
文科能报网络安全管理吗
高中学习软件开发教程
服务器连接失败服务器未启动
网络安全歌曲有哪些
jeplus软件开发价格
数据库安全轻代理
张家港品牌网络技术要多少钱
百度云数据库有多大存储空间
云服务器部署云桌面
软件开发公司获得补贴
云服务器的预装环境
ufc连接ea服务器
数据库查看工具web