WordPress建站中,有时我们的网站开放注册,希望会员在里面自由评论发布文章。对于这些开放注册的 WordPress 站点来说,尤其是具有会员购买服务的网站,需要禁止多个人同时登录一个账号。下面介绍一下方法。
切换到主题目录,打开 functions.php 文件,加入以下代码:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | /**  * 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 插件实现同样地效果。
 
  支付宝扫码打赏
 支付宝扫码打赏  微信打赏
 微信打赏 