Erstens ist Multisite nicht das, wonach ich suche. Ich habe 5 Websites, die Wordpress verwenden, alle auf separaten Domänen, für die ich Benutzerkonten aktivieren möchte. Ich benötige Benutzerdaten, die im gesamten Netzwerk geteilt werden sollen. Wenn ein Benutzer ein Konto erstellt, hat er auch sofortigen Zugriff auf alle anderen Websites. Was ich versuche, wird von Wordpress bei Verwendung von Multisite nicht empfohlen:
Wenn Sie Websites erstellen möchten, die stark miteinander verbunden sind, Daten gemeinsam nutzen oder Benutzer gemeinsam nutzen, ist ein Netzwerk mit mehreren Standorten möglicherweise nicht die beste Lösung. - http://codex.wordpress.org/Before_You_Create_A_Network (1. Absatz, 3. Satz)
Ich habe versucht, den "Shared User Table Trick" zu verwenden, wie hier erwähnt: http://wordpress.org/support/topic/multiple-sites-same-users-how und hier http://xentek.net/articles/528/ Implementierung des WordPress-Shared-Users-Table-Tricks / und einer Reihe anderer Stellen ... Das Problem ist, dass diese Informationen 2-7 Jahre alt sind und ich Wordpress 3.5.1 verwende und dieser "Trick" dies nicht tut scheint nicht zu funktionieren.
Ich habe versucht, diesen Code in wp-config um die $table_prefix
Zeile einzufügen .
define('CUSTOM_USER_TABLE', 'wp_users');
define('CUSTOM_USER_META_TABLE', 'wp_usermeta');
Kurz gesagt, ich glaube nicht, dass dieser Trick mehr funktioniert, da ich mich überhaupt nicht bei der zweiten Site auf der Administratorseite anmelden kann.
Irgendwelche Vorschläge, wie diese Daten am besten verknüpft werden können?
CUSTOM_USER_TABLE
es nicht funktionieren würde ... Sehen Sie, ob hier etwas ist: wordpress.stackexchange.com/search?q=CUSTOM_USER_TABLEAntworten:
Ok, zuallererst fühle ich mich wie ein Idiot, obwohl zu meiner Verteidigung die meisten Artikel, die darüber sprechen, kein sehr wichtiges Detail erwähnen, um diese Arbeit zu machen. Die Antwort ist, dass Sie die Berechtigung für mindestens einen Administrator in der Datenbank festlegen müssen. Diese Informationen finden Sie im Codex hier: http://codex.wordpress.org/Editing_wp-config.php#Custom_User_and_Usermeta_Tables
Nachdem Sie die Datei wp-config.php eingerichtet haben, müssen Sie unbedingt das Feld wp_capabilities (in meinem Fall wp_usermeta) und die Spalte meta_value in der Master-Usermeta-Tabelle (in meinem Fall wp_usermeta) ändern. Tun Sie dies über phpMyAdmin.
Hinweis: Führen Sie dies aus, damit sich mindestens ein Benutzeradministrator anmeldet. Sie können alle anderen Benutzer- / Administratorrollen über das Backend anpassen, sobald Sie sich anmelden.
Für jede Website, die erstellt wird, muss dem Präfix für neue Websites die Administratorbenutzerrolle zugewiesen sein.
In meinem Fall sieht es so aus, da ich dies momentan nur auf 2 Websites zum Laufen gebracht habe:
In der ersten Zeile werden Berechtigungen für das Standardtabellenpräfix (in diesem Fall wp_) und in der zweiten Zeile die Berechtigungen für die zweite Website (in diesem Fall mit dem Präfix tbs_) festgelegt.
Vielen Dank an brasofilo für den Kommentar, der mich dazu veranlasste, ein wenig weiter zu graben, um mein Problem endlich zu lösen!
Ich hoffe, dass diese Antwort anderen helfen kann, die das gleiche Problem hatten wie ich.
quelle
Bei der Freigabe von wp_users und wp_meta tritt ein weiteres Problem auf. Bei einer anderen WordPress-Installation werden die Benutzer zwar erkannt, die Rollen der Benutzer von der anderen Website werden jedoch nicht erkannt . Die Rolle wird als undefiniert angezeigt.
Also haben Sie Ihre wp-config.php nach Bedarf bearbeitet:
Ich denke, der einfachste Weg, dies zu tun, ohne an der Datenbank zu basteln, ist die Verwendung von wp-Interna. Bei der Anmeldung ist es möglich, eine Rolle zuzuweisen. Angenommen, wir benötigen die Rolle des Mitwirkenden für alle und die Administratorrolle für den Benutzer "Superman".
Benutzer, die von der ursprünglichen Website kommen, erhalten beim Anmelden die Rolle des Mitwirkenden zugewiesen.
http://codex.wordpress.org/Class_Reference/WP_User
quelle
Ich musste eine neue Zeile erstellen:
meta_key='tbs_capabilities' meta_value='a:1:{s:13:"administrator";b:1;}'
und
user_id=1
. Die von Ihnen beschriebene Methode hat nicht funktioniert.quelle