function My_CalcUserLevel($user)
{
global $wpdb;
if (is_multisite() && is_super_admin($user->ID)) return 11;
$maxlevel = 0;
$levels = $wpdb->get_results($wpdb->prepare("SELECT meta_value FROM " . $wpdb->usermeta . " where user_id = %d and meta_key like '%%_user_level'", $user->ID));
if ($levels)
{
foreach ($levels as $level)
{
if ($maxlevel < (int)$level->meta_value) $maxlevel = (int)$level->meta_value;
}
}
return $maxlevel;
}
$user = wp_authenticate($username, $password);
if (!is_wp_error($user) && My_CalcUserLevel($user))
{
...
}