Estoy desarrollando un complemento para WordPress que tiene 3 grupos de usuarios. Necesito deshabilitar algunos usuarios y evitar que inicien sesión. lo que quiero decir es que no les impide acceder al backend. Quiero evitar que inicien sesión. Por ejemplo, cuando quieran iniciar sesión, deberían ver un mensaje como que esta cuenta aún no está activa. gracias chicos.
después de buscar y ver problemas similares, resolví este problema de esta manera: primero agregue un usuario meta para el estado del usuario para que podamos verificar si el usuario está activo o no, luego podemos deshabilitar o habilitar a los usuarios.
add_filter( 'authenticate', 'chk_active_user',100,2); function chk_active_user ($user,$username) { $user_data = $user->data; $user_id = $user_data->ID; $user_sts = get_user_meta($user_id,"user_active_status",true); if ($user_sts==="no") { return new WP_Error( 'disabled_account','this account is disabled'); } else { return $user; } return $user; }