搜索
Hi~登录注册
查看: 1440|回复: 0

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

[复制链接]

1892

主题

1899

帖子

6406

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
6406
发表于 2015-4-13 14:09:46 | 显示全部楼层 |阅读模式
对于开放注册的 WordPress 站点来说,尤其是有会员购买服务的站点,可能需要禁止用户共享账号,也就是要禁止多个人同时登录一个账号。倡萌今天分享老外的一个方法,大家不妨试试。将下面的代码到主题的 functions.php 中即可:/*** Detect if the current user has concurrent sessions** @return bool*/function pcl_user_has_concurrent_sessions() {return ( is_user_logged_in() && count( wp_get_all_sessions() ) > 1 );}/*** Get the user's current session array** @return array*/function pcl_get_current_session() {$sessions = WP_Session_Tokens::get_instance( get_current_user_id() );return $sessions->get( wp_get_session_token() );}/*** Only allow one session per user** If the current user's session has been taken over by a newer* session then we will destroy their session automattically and* they will have to login again to continue.** @action init** @return void*/function pcl_disallow_account_sharing() {if ( ! pcl_user_has_concurrent_sessions() ) {return;}$newest  = max( wp_list_pluck( wp_get_all_sessions(), 'login' ) );$session = pcl_get_current_session();if ( $session['login'] === $newest ) {wp_destroy_other_sessions();} else {wp_destroy_current_session();}}add_action( 'init', 'pcl_disallow_account_sharing' );如果大家不想折腾代码,可以直接下载插件 Prevent Concurrent Logins 安装启用也是一样的。
公众微信:idc5ahl
公众QQ:吾爱互联
关注公众微信,公众QQ每天领现金卡密
卡密介绍(http://www.5ahl.com/thread-2182-1-1.html
回复

使用道具 举报

游客
回复
您需要登录后才可以回帖 登录 | 点我注册

快速回复 返回顶部 返回列表