最新公告
  • 欢迎您光临更好小站,本站频繁遭到攻击,如无法访问请晚点或次日访问,感谢!立即加入我们
  • 文章介绍
  • 评价建议
  • 声明:“付费源码经本站测试后发布,下载即用;相对于别的资源站,搬运但不测试, 付费购买又不能用!不是浪费大家时间?欢迎大家支持我们!签到投稿即可获得积分下载!“

    对于会员制的网站,尽可能避免多人同时登录一个会员账号应该是比较需要的, Prevent Concurrent Logins 和 Wp Single Login 两个插件,都可以满足需求,只是这两个插件很久没有更新了,不知道和新版的 WP 兼容如何,今天再推荐一个类似插件 Loggedin,和之前两个不太一样的是,它支持设置最大活跃登录数,也就是一个账号允许多少个客户端同时登录,还可以通过钩子排除掉一些用和用户角色。

    已测试兼容 wordpress 5.0+ ,Loggedin 使用很简单,

    直接在后台插件安装界面搜索 Loggedin 即可在线安装,或者到官方下载 https://wordpress.org/plugins/loggedin/

    启用插件后,在 设置 – 常规 界面,就可以看到设置选项:

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

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

    排除用户

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

    排除角色

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

    本站坚持“不能用的源码发出去都是浪费大家时间“,付费源码都是亲测的


    源码已测试,但不保证完美无bug


    3.更好小站仅提供学习的平台,所有资料均来自于网络,版权归原创者所有!本站不提供任何保证,并不承担任何法律责任,如果对您的版权或者利益造成损害,请提供相应的资质证明,请练习客服予以删除。

    更好小站 » WordPress禁止多人同时登录一个账号

    发表评论