Gdzie są dostępne role zdefiniowane w bazie danych wp_?


10

Na liście znalazłem się, aby przetestować prywatną wersję beta wtyczki, której używam w sieci obejmującej wiele witryn.

Autorzy wtyczek mają tam kod, aby dodać niestandardową rolę. Mają błąd, który usuwa możliwość nadania użytkownikowi dowolnej roli oprócz ich jednej niestandardowej roli.

Kiedy odwiedzam ../wp-admin/network/site-users.php, menu rozwijane roli „Dodaj użytkownika” pokazuje tylko jedną rolę dodaną przez tę wtyczkę. Menu rozwijane zmiany roli pokazuje wszystkie domyślne role WP, a także kilka dodatkowych ról dodanych przez tę i inne wtyczki. Jeśli spróbuję zmienić użytkownika na jedną z tych ról, pojawia się strona błędu „Nie możesz dać użytkownikom tej roli”.

Rozmawiałem o tym z deweloperem i wydaje się, że są zaskoczeni.

Przeglądam moją bazę danych i kodeks i nie mogę znaleźć, gdzie zdefiniowano prawidłowe role.

Odpowiedzi:


27

Role użytkowników są przechowywane w wp_optionstabeli.

wyszukaj nazwę opcji wp_user_rolesw wp_optionstabeli.


12

Role użytkownika są przechowywane w tabeli wp_user_meta

Aby sprawdzić role użytkowników, najpierw sprawdź identyfikator użytkownika w tabeli wp_users(identyfikator nazwy kolumny)

Teraz przejdź do tabeli wp_usermetai wyszukaj gdzie kolumna user_idjest równa identyfikatorowi, który pasuje IDdo wp_userstabeli.

Otrzymasz listę wierszy z metadanymi wybranego użytkownika, wiersz z meta_keyas wp_capabilitiesokreśla rolę użytkownika.

Wartość wp_capabilitiesdla

  • Administrator : a:1:{s:13:"administrator";b:1;}
  • Klient Woo Commerce: a:1:{s:8:"customer";b:1;}

Twoja odpowiedź dotyczy przypisania roli użytkownikowi. OP pytał o same definicje ról, które są przechowywane w wp_options.
Brett Donald
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.