/**
* @return array|mixed
*/
static function role_classes()
{
if (!($role_classes = WPLib::cache_get($cache_key = 'role_classes'))) {
WPLib::autoload_all_classes();
$role_classes = array();
foreach (get_declared_classes() as $user_class) {
if (!is_subclass_of($user_class, 'WPLib_User_Base')) {
continue;
}
if ($role_slug = self::get_role_slug_by('class', $user_class)) {
$role_classes[$role_slug] = $user_class;
}
}
WPLib::cache_set($cache_key, $role_classes);
}
return $role_classes;
}