Hallo zusammen,
ich arbeite derzeit, mehr aus Spaß und Interesse, an einer Wordpress Seite die nur Lokal läuft.
Auf dieser Seite habe ich nun einige Rollen angelegt wie z. B.
Fußball, Football, Handball, Tennis, Nur lesen und ein paar weitere Sportarten.
Nun möchte ich auf verschiedenen Seiten gewisse Zugriffsrechte aussprechen.
Es sind beispielsweise Buttons die jemand mit der Rolle Fußball und Football sieht und der Rest eben nicht. Dazu habe ich eine Funktion geschrieben:
function user_has_role($user_id, $role_name) {
$user_meta = get_userdata($user_id);
$user_roles = $user_meta->roles;
return in_array($role_name, $user_roles);
}
Das Problem ist, das es zum einen sehr unübersichtlich wird und zum anderen was ist wenn man eine weitere Rolle hinzufügt diese jedoch noch nicht irgendwo eingeplant ist.
Weiß jemand von Euch wie das üblicherweise gehandhabt wird? Also gibt es eine Art oder sogar ein Design Pattern das ein solches Problem löst?
Meine Idee war man gibt den Rollen int Werte z. B. Admin = 100, Fußball = 30, Football = 29, etc.
Somit könnte man sagen alles was kleiner ist als 30 darf den Button sehen. Kommt nun eine neue Ballsportart hinzu bekommt diese den Wert 28 und wäre somit mit drin. Das ganze ist jedoch auch sehr aufwändig, fehleranfällig und unsauber :-(
Ich weiß derzeit nicht weiter hat jemand eine Idee? Gehört dieses Thema eigentlich hier her?