Wo sind in der wp_-Datenbank definierte Rollen verfügbar?


10

Ich habe mich auf die Liste gesetzt, um eine private Beta eines Plugins zu testen, das ich in einem Multisite-Netzwerk 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 die eine benutzerdefinierte Rolle zuzuweisen.

Bei meinem Besuch ../wp-admin/network/site-users.phpwird in den Pulldowns der Rolle "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 an, 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 Kodex durchsucht und kann nicht finden, wo die gültigen Rollen definiert sind.

Antworten:


27

Benutzerrollen werden in einer wp_optionsTabelle gespeichert .

Suchen Sie wp_user_rolesin der wp_optionsTabelle nach dem Optionsnamen .


11

Benutzerrollen werden in einer Tabelle gespeichert wp_user_meta

Überprüfen Sie zum Überprüfen der Benutzerrollen zunächst die Benutzer-ID in der Tabelle wp_users(Spaltennamen-ID).

Gehen Sie nun zur Tabelle wp_usermetaund suchen Sie, wo die Spalte user_idder ID entspricht, die mit IDder wp_usersTabelle übereinstimmt .

Sie erhalten eine Liste von Zeilen mit Metadaten des gewählten Benutzers, die Zeile mit bekommen meta_keywie wp_capabilitiesdefiniert der Benutzerrolle.

Der Wert von wp_capabilitiesfür

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

Ihre Antwort bezieht sich auf die Zuweisung einer Rolle zu einem Benutzer. Das OP fragte nach den Rollendefinitionen selbst, die in wp_options gespeichert sind.
Brett Donald
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.