Ich war auf der Liste, um eine private Beta eines Plugins zu testen, das ich in einem Netzwerk mit mehreren Standorten verwende.
Die Plugin-Autoren haben dort Code, um eine benutzerdefinierte Rolle hinzuzufügen. Sie haben einen Fehler, der die Möglichkeit beseitigt, einem Benutzer eine andere Rolle als seine eigene Rolle zuzuweisen.
Wenn ich ../wp-admin/network/site-users.php
besuche, wird in den Rollendisplays "Benutzer hinzufügen" nur die eine Rolle angezeigt, die dieses Plugin hinzugefügt hat. Das Pulldown-Menü zum Ändern der Rolle zeigt alle WP Standardrollen sowie einige zusätzliche Rollen, die dieses und andere Plugins hinzugefügt haben. Wenn ich versuche, einen Benutzer in eine dieser Rollen zu ändern, wird die Fehlerseite "Sie können Benutzern diese Rolle nicht zuweisen" angezeigt.
Ich habe dies mit dem Entwickler besprochen, und sie scheinen verblüfft zu sein.
Ich habe meine Datenbank und den Codex durchsucht und kann nicht finden, wo die gültigen Rollen definiert sind.
Benutzerrollen werden in der Tabelle wp_options
gespeichert.
suchen Sie in der Tabelle wp_user_roles
nach dem Optionsnamen wp_options
.
Benutzerrollen werden in Tabelle wp_user_meta
gespeichert
Um Benutzerrollen zu überprüfen, überprüfen Sie zunächst die Benutzer-ID in der Tabelle wp_users
(Spaltennamen-ID).
Gehen Sie jetzt zur Tabelle wp_usermeta
und suchen Sie, wo die Spalte user_id
der ID entspricht, die mit ID
aus der wp_users
-Tabelle übereinstimmt.
Sie erhalten eine Liste von Zeilen mit Metadaten des ausgewählten Benutzers, wobei die Zeile mit meta_key
als wp_capabilities
die Benutzerrolle definiert.
Der Wert von wp_capabilities
für
a:1:{s:13:"administrator";b:1;}
a:1:{s:8:"customer";b:1;}