首页 > 解决方案 > 如何限制用户的会话持续时间

问题描述

这可能吗:wordpress 网站是为孩子们准备的,所以我想限制他们的网站使用。我希望他们能够每天使用网站数小时,比如说 4 小时。4 小时后,他们将退出网站,只能在第二天再次访问。任何人都可以帮忙吗?

标签: wordpress

解决方案


您可以实现如下逻辑。代码未经测试,但有助于实现逻辑。在加载时,它将检查用户是否登录。如果用户已登录,则检查当前时间和上次登录时间并相应地应用逻辑

add_action('init', 'check_login_logout');

function check_login_logout() {
 
   if(is_user_logged_in()) {
      
      $current_time = time();

      $last_login = get_user_meta($user_id, 'last_login', true);
      if($last_login)  {
        if( ($current_time - $last_login <= 24) && $current_time - $last_login > 4 ){
            wp_logout();
            header("Location: http://fubar.com/login/?logout=0");
            exit();
         }else if( ($current_time - $last_login > 24){
            $last_login = update_user_meta($user_id, 'last_login', $current_time);
         }
      }else{
         $last_login = update_user_meta($user_id, 'last_login', $current_time);
      }
   } 
} 

推荐阅读