Podczas pisania wtyczek WordPress często trzeba skonfigurować opcje, dla których role w witrynie mają dostęp do określonych funkcji lub treści. Aby to zrobić, twórca wtyczki musi pobrać listę ról istniejących w witrynie, aby użyć jej w opcji. Ponieważ można tworzyć niestandardowe role, nie możemy założyć, że domyślne role są jedynymi dostępnymi.
Jaki jest najlepszy sposób na pobranie listy?
security
users
capabilities
user-roles
jerclarke
źródło
źródło
Odpowiedzi:
Role są przechowywane w zmiennej globalnej
$wp_roles
.Idealna funkcja pochodzi
get_editable_roles()
z/wp-admin/includes/user.php
Część „edytowalna” polega na tym, że oferuje innym wtyczkom możliwość filtrowania listy na wypadek, gdyby ktoś inny niż administrator miał
'edit_users'
uprawnienia (a zatem „admin” musi zostać usunięty z listy, w przeciwnym razie użytkownik może zostać administratorem). Wtyczki do zarządzania rolami używane do tworzenia niestandardowych ról to te, które korzystałyby z tego filtra. W przeciwnym razie ta funkcja jest zasadniczoget_roles()
(co nie istnieje) .Przypuszczalnie Twoja wtyczka będzie oferować daną stronę ustawień tylko komuś, kto ma
'manage_options'
uprawnienia na poziomie administratora, takie jak i jest w zasadzie administratorem z dostępem do wszystkich ról, więc filtr nie powinien mieć na ciebie wpływu.Istnieje również
wp_dropdown_roles()
funkcja, która daje role jako<option>
pola dla<select>
listy (chociaż pola wyboru prawdopodobnie będą działać lepiej w wielu scenariuszach, w których wybierasz, kto ma dostęp do czegoś) .źródło
Spróbuj tego:
PS heh, brakowało mi wyjaśnienia i odpowiedzi, za szybko mnie :)
źródło
Oto jak znaleźć listę ról bez żadnych wtyczek lub funkcji http://screencast.com/t/uaWsGLAR3Sh
źródło
Dla tych, którzy mają wielojęzyczną stronę, funkcja
zwraca zlokalizowaną tablicę w ten sposób (nazwy ról są w języku słowackim):
źródło
W ten sposób można uzyskać tablicę wszystkich istniejących ról użytkowników i możliwości każdej roli w WordPress. Jeśli nie chcesz drukować go na ekranie, pomiń ostatni wiersz. Zmienna $ roles w wierszu 2 pomieści tablicę użytkowników i możliwości, dzięki czemu będziesz mógł jej używać w dowolny sposób. Poniżej znajduje się przykład zwróconej tablicy.
źródło