WordPress中禁止多个人同时登录一个账号
发布时间:2020-12-14 14:39:44 所属栏目:wordpress 来源:网络整理
导读:中,有时我们的网站开放注册,希望会员在里面自由评论发布文章。对于这些开放注册的 WordPress 站点来说,尤其是具有会员购买服务的网站,需要禁止多个人同时登录一个账号。下面介绍一下方法。 切换到主题目录,打开 functions.php 文件,加入以下代码: 1 )
中,有时我们的网站开放注册,希望会员在里面自由评论发布文章。对于这些开放注册的 WordPress 站点来说,尤其是具有会员购买服务的网站,需要禁止多个人同时登录一个账号。下面介绍一下方法。 切换到主题目录,打开 functions.php 文件,加入以下代码: 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' ); |