Antworten:
Dies ist mit user_roles () und array_search () recht einfach . Unten finden Sie eine Funktion, die die Rollen-ID zurückgibt, wenn eine Rolle mit dem Namen übereinstimmt und ansonsten FALSE.
function get_role_by_name($name) {
$roles = user_roles();
return array_search($name, $roles);
}
// Sample usage
$rid = get_role_by_name('administrator');
Ein Liner wäre:
$rid = array_search('administrator', user_roles());
Es reicht aus, den Computernamen der Rolle zu kennen user_role_load_by_name()
.
if ($role = user_role_load_by_name('Role Name')) {
// The role ID is in $role->rid.
}
Wenn die Rolle möglicherweise nicht existiert ...
$role = user_role_load_by_name('Role Name');
$role_id = $role ? $role->rid : NULL;
Die beste Methode zum Identifizieren der Rolle und ihrer ID ist SQL. Führen Sie diese Abfrage in Ihrem SQL-Editor aus.
select * from roles;
Und Sie erhalten die Liste der Rollen, einschließlich der ID und des Gewichts.