WordPress中如何限制非管理员用户在文章后只能评论一次
发表于:2025-11-17 作者:千家信息网编辑
千家信息网最后更新 2025年11月17日,这篇文章将为大家详细讲解有关WordPress中如何限制非管理员用户在文章后只能评论一次,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。暂不说这个需求有没有用,毕竟W
千家信息网最后更新 2025年11月17日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安全错误
数据库的锁怎样保障安全
你的qq空间违反网络安全
服务器不需要内存吗
无线传感网络技术的应用
高度重视抓网络安全
云计算网络安全排名
查看 数据库名
数据库建设的技术
导入数据库时无法打开参数文件
关于数据库关系的好处
上海其加软件开发公司
未成年网络安全保护
免安装软件开发教程
大话服务器时间
软件开发离岸外包
软件开发 颁奖词
浩瀚网络技术有限公司洛阳
app类软件开发有哪些
传奇手游服务器论坛
计算机网络技术职业志向
地铁服务器有什么优势
游戏服务器安全注册与登录
苹果手机软件开发信任在哪里
网络安全技术分析论文下载
汽车远程软件开发公司
数据库表怎么定义例子
僵尸毁灭工程进服务器红字
怎么用命令连接远程服务器
互联网络安全危险和风险
数据库管理系统的功能
网络安全诈骗手段