So aktualisieren Sie Benutzerrollensummen

Ich arbeite an einer neuen Seite, aber ich benutze die Benutzer von einer alten Seite.

Ich habe alle meine Benutzerrollen erstellt, die mit den Benutzerrollen auf der anderen Site übereinstimmen. Ich löschte die Tabelle user und usermeta von der neuen Site und importierte diese Tabellen von der alten Site.

Ich kann jetzt alle Benutzer sehen und ich kann mich mit den Benutzern einloggen. Das Problem, das ich habe, ist, dass den Benutzern, außer dem primären Administrator, keine Rollen zugewiesen sind.

Wenn ich die database überprüfe, sehe ich die ihnen zugewiesene Rolle.

'2039843', '308', 'wp_capabilities', 'a:1:{s:10:"subscriber";b:1;}' 

Wenn ich im Benutzerbereich von WordPress bin, kann ich alle Benutzer sehen, aber ihnen sind keine Rollen “zugewiesen” (obwohl sie eindeutig in der database definiert sind).

Ich importiere über 40.000 Benutzer, daher scheint die databaseoption für meine Bedürfnisse am passendsten zu sein. Gibt es einen Codeschnipsel, den ich tun kann, um diese Summe vielleicht zu aktualisieren? Wo werden diese Summen gespeichert? Ich kann sagen, es scannt nicht die usermeta Tabelle für diese Werte, so dass es in der Optionstabelle sein muss.

Ich habe bereits die Option für wp_user_roles und ihm den gleichen Wert wie der alten Seite zugewiesen, immer noch kein Glück. Keine Rollen haben Summen, und den Rollen sind keine Benutzer zugewiesen.

Was ist die beste Methode, um die Gesamtanzahl der Benutzerrollen zu aktualisieren, damit WordPress erkennt, dass die Benutzer den Rollen richtig zugeordnet sind?

Solutions Collecting From Web of "So aktualisieren Sie Benutzerrollensummen"

Sie müssen auch die wp_options der alten Site exportieren, die normalerweise als wp_options und sie in eine neue importieren. Ursache In der wp_options aka wp_options Tabelle gibt es ein wp_user_roles namens wp_user_roles und es enthält die wp_user_roles der Site.

Ok, das weiß ich nicht …

Der Benutzermeta_key wp_capabilities ist einzigartig für Ihr databasepräfix. Da ich ein anderes Präfix als wp_ diesem Schlüssel auch das gleiche Präfix vorangestellt.

Da ich die Daten aus einer Tabelle importierte, die das Standardpräfix verwendet: wp_ Die Daten, die ich importierte, verwendeten das Präfix von der anderen database. Alles, was ich tun musste, um dies zu beheben, war, ein Update wp_capabilities , um wp_capabilities durch die PREFIX_capabilities zu ersetzen, und nun funktioniert es wie erwartet.

Das war interessant zu identifizieren, da ich nicht denken würde, dass einem Optionsschlüssel das Präfix der database vorangestellt würde. Dies ist ein wenig Besorgnis, denn jetzt bin ich mir nicht sicher, was das Präfix vs verwendet, was nicht … Schlechtes Design IMHO