Saját felhasználói szerepkör létrehozása WordPressben
Az előző #plugout snippetben említettem, hogy érdemes lehet létrehozni saját szerepkört és "képességet" (capability), mondjuk az SVG feltöltéshez WordPress-ben. Erre mutatok most egy megoldást, mégpedig első lépésben a szerepkör létrehozásában.
Az eddigiekhez képest egy kicsit rendhagyó megoldás lesz a mai, ugyanis ennek a kódnak elég egyszer lefutnia (vagyis a mentés utáni első frissítést követően a változtatások életbe lépnek), így nem is muszáj az mu-plugins mappában hagyni a fájlt. A kódot viszont érdemes lehet továbbra is az mu-plugins mappában lévő fájlba bedobni, mondjuk egy add-user-role.php
fájlba, az alábbi tartalommal:
Három paramétert használunk: az első a rendszeren belüli nevet adja meg (amivel majd hivatkozhatunk rá a kódban), a második a "szép név", amit az adminisztrációs felületen is látni fogunk, a harmadik pedig egy tömb, ami megadja, hogy melyik képességgel rendelkezik az ezzel a felhasználói szerepkörrel rendelkező felhasználó (vagyis a példában a read
-del és az edit_posts
-tal igen, a delete_posts
-al nem).
Mivel a kódunk nem fut le minden oldalbetöltéskor, a kérdés az, hogy hogyan maradnak meg az adatok? A válasz erre az, hogy az adatbázisban, méghozzá a wp_options
(vagy a megfelelő prefixű) táblának a wp_user_roles
mezőjében (ami szintén a megfelelő prefix-szel értendő). Tehát ha törölni szeretnénk ezeket a szerepköröket, egy másik kódra is szükségünk lesz, ez pedig az alábbi:
A snippetet tartalmazó fájl is törölhető a lefutását követően - egyúttal azt is látjuk, hogy mire is volt jó az első kódrészletben a $role
változó. Kész is vagyunk!