Mein Netzwerk zeigt Rollen an einigen Standorten und nicht an anderen.
Aus irgendeinem Grund, den ich nicht erklären kann, habe ich beim Hinzufügen eines neuen Benutzers keine Rollen zur Auswahl im Dropdown-Feld einer untergeordneten Site in meinem Netzwerk. Außerdem wird mein neuer Benutzer, der einer Site zugewiesen wurde, nicht in meiner Liste der Benutzer für diese Site angezeigt.
Ist das etwas reparierbar?
Unten ein Bild der aktuellen Situation.
Das folgende Bild zeigt die Hauptwebsite mit den richtigen Rollen, die Unterwebsites des Netzwerks jedoch nicht.
Wenn dies das Problem ist, das ich so gut kenne, führen Sie ein Memcache-Setup hinter Ihrer MU-Installation aus? Ich habe festgestellt, dass es anscheinend ein Cache-Problem (in 2.9 beobachtet) für das options-Objekt gibt, bei dem etwas Gutes (wie der wp_user_roles-Schlüssel) im memcache-Array "notoptions" hängen bleibt.
Wenn Sie auf memcache ausgeführt werden und dies nach einer Möglichkeit klingt, versuchen Sie, über 11211 eine Verbindung zum Computer herzustellen. Geben Sie Folgendes ein
delete blogid:options:notoptions
, wobei die Blog-ID die ID des Blogs ist, auf dem Sie das Problem sehen. Aktualisieren Sie den Admin-Bereich und prüfen Sie, ob die Dropdown-Liste Rollen enthält. Wenn ja, haben Sie Ihr Problem gefunden.UPDATE : OK, Sie haben Ihr Problem nicht gefunden - Sie haben keinen Memcache ausgeführt. Ich würde immer noch das Rollenobjekt auschecken und nach einem korrupten oder nicht existierenden suchen. Ich glaube, es ist deine beste Spur. Mit diesem Code können Sie die Optionstabelle sichern:
quelle
Ich hatte dieses Problem bei einer Multisite-Installation, nachdem ich WordPress neu installiert und von einem Updraft Plus-Backup wiederhergestellt hatte.
Als ich den
user_roles
Datensatz überprüfte , wurde option_name immer noch auf das ursprüngliche vierstellige Präfix gesetztpre1_user_roles
, während das Präfix für die zweite Installation in etwa so lautetepre2_user_roles
.Ich habe dies aktualisiert
pre2_user_roles
und die Optionen wurden sofort wieder auf der Benutzeroptionsseite angezeigt.quelle
DANKE. Dieses Problem umfasst solide 10 Stunden Debugging. Das war ein echter Bär für mich.
Um dies ein wenig zu erweitern, habe ich meiner Site eine Funktion hinzugefügt, mit der Sie dieses Problem beheben können, wenn Sie Sites programmgesteuert erstellen.
Grundsätzlich wird dabei geprüft, ob
wp_user_roles
im angegebenen Blog eine Einstellung vorgenommen wurde. Wenn dies der Fall ist, wird die Funktion verwendetwp_user_roles
, um eine neue Option auf die richtige Weise festzulegen.quelle
Ich wollte mich nur für diesen Artikel bedanken, weil ich schon lange nach einer Lösung für dieses Problem gesucht habe.
Es war einfach, weil ich ein Plugin verwendet hatte, um meine Seiten zu klonen und es nie
wp_##_user_roles
richtig aktualisiert hat . Als die Site von dort kopiert wurdewp_13...
, wurde sie auf eine neue Site geklont,wp_81...
aber dieser Eintrag steckte immer noch anwp_13
.quelle
Ich möchte nur darauf hinweisen, dass einige Leute möglicherweise immer noch eine leere Site-Benutzertabelle haben - speziell für ihre Root-Site. Wenn dieses Problem auftritt, können Sie es folgendermaßen beheben:
Ich glaube, "1" ist immer die ID der Root-Site.
Prost.
quelle
wp_
Präfix ist auf "sinde" gesetztwp-config.php
und wird standardmäßig verwendetwp_
. Das1
ist in der Tat die Wurzelstelle. Dies muss jedoch nicht so sein,1
da dies eine eindeutige und inkrementelle ID ist, die automatisch generiert wird.