Odpowiedzi:
Jest to dość proste w przypadku user_roles () i array_search () . Poniżej znajduje się funkcja, która zwróci identyfikator roli, jeśli istnieje rola pasująca do nazwy, w przeciwnym razie FALSE.
function get_role_by_name($name) {
$roles = user_roles();
return array_search($name, $roles);
}
// Sample usage
$rid = get_role_by_name('administrator');
Jedna wkładka to:
$rid = array_search('administrator', user_roles());
Znając nazwę maszyny roli, wystarczy użyć user_role_load_by_name().
if ($role = user_role_load_by_name('Role Name')) {
// The role ID is in $role->rid.
}
Jeśli rola może nie istnieć ...
$role = user_role_load_by_name('Role Name');
$role_id = $role ? $role->rid : NULL;
Najlepszym sposobem na identyfikację roli i jej identyfikatora jest SQL. Uruchom to zapytanie w edytorze SQL.
select * from roles;
Otrzymasz listę ról, w tym identyfikator i wagę.