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

WordPress 禁止多人同时登录一个账号

对于会员制的网站,尽可能避免多人同时登录一个会员账号应该是比较需要的,此前已经分享过 Prevent Concurrent Logins 和 Wp Single Login 两个插件,都可以满足需求,只是这两个插件很久没有更新了,不知道和新版的 WP 兼容如何,今天再推荐一个类似插件 Loggedin,和之前两个不太一样的是,它支持设置最大活跃登录数,也就是一个账号允许多少个客户端同时登录,还可以通过钩子排除掉一些用和用户角色。已测试兼容 WordPress 5.0+ ,Loggedin 使用很简单,直接在后台插件安装界面搜索 Loggedin 即可在线安装,或者到官方下载 https://wordpress.org/plugins/loggedin/,启用插件后,在 设置 – 常规 界面,就可以看到设置选项:

一旦有多个人(客户端)登录同一个账号,超过了设定的活跃登录数,就会出现如下提示:

已经该插件汉化,点击下载简体中文包,解压后将里面的文件上传到 wp-content/languages/plugins 目录即可生效,同时避免插件升级时丢失语言。下面分享下官方提供的排除用户和用户角色的代码示例,按照需求修改好代码,然后添加到主题的 functions.php 文件即可。

排除用户

  1. //排除某些用户,不受最大活跃登录数限制
  2. function f_loggedin_bypass_users( $bypass, $user_id ) {
  3. // 在 array( ) 中输入用户id,多个id用英文逗号隔开
  4. $allowed_users = array( 1, 2, 3, 4, 5 );
  5. return in_array( $user_id, $allowed_users );
  6. }
  7. add_filter( 'loggedin_bypass', 'f_loggedin_bypass_users', 10, 2 );

排除角色

  1. //排除某些用户角色,不受最大活跃登录数限制
  2. function f_loggedin_bypass_roles( $prevent, $user_id ) {
  3. // 在 array( ) 中输入用角色名,多个用户角色使用英文逗号隔开
  4. $allowed_roles = array( 'administrator', 'editor' );
  5. $user = get_user_by( 'id', $user_id );
  6. $roles = ! empty( $user->roles ) ? $user->roles : array();
  7. return ! empty( array_intersect( $roles, $allowed_roles ) );
  8. }
  9. add_filter( 'loggedin_bypass', 'f_loggedin_bypass_roles', 10, 2 );

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

WordPress前端代码压缩

2024-3-1 9:36:17

WordPress教程

将WordPress谷歌字体下载到自己的服务器

2024-3-1 9:36:29

下载说明

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

站长声明

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