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
3
4
5
6
7
8
9
10
11
//排除某些用户,不受最大活跃登录数限制
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_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 );

排除某些用户角色

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//排除某些用户角色,不受最大活跃登录数限制
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 );

//排除某些用户角色,不受最大活跃登录数限制 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 );

声明:本文为 倡萌@WordPress大学 原创,未经许可,禁止转载或他用!

以上就是WordPress 禁止多人同时登录一个账号,可设定最大登录数。只有行动才能抚平梦想带来的躁动不安。我们认定了只要奋斗,一切都还有希望,毕竟我们还年轻。于是,我们没日没夜的挑灯苦战,在旅途中挥洒着热血。然而总有些人会背道而驰。更多关于WordPress 禁止多人同时登录一个账号,可设定最大登录数请关注haodaima.com其它相关文章!

您可能有感兴趣的文章
WordPress站点Gravatar头像前后台不显示的如何解决办法

WordPress主题需要支持https吗?WordPress站点如何如何实现https?

WordPress站点的页面/标签/分类URL地址如何添加.html?

WordPress站点更换了域名后数据库应该如何操作替换新旧域名?

WordPress安装在主机空间的什么目录里面?根目录在哪里?