
Wer kennts nicht. Wer oft und gerne mit WordPress arbeitet und einige Blogs bestitzt, möchte auf die Dauer nicht immer in jedem einzelnen Blog seine Userdaten ändern gehen. Da man für jede Seite meist sowieso schon das selbe Login benutzt, wäre es doch am einfachsten, einfach für jede dieser WordPress Installationen den selben User zu benutzen. Und das geht leichter, als man sich das vorstellt.
Vorbereitung
Nun, um das zu realisieren, muss erstmal folgendes vorausgesetzt sein:
- Die WordPress Installationen müssen alle die selbe Datenbank auf dem selben Server benutzen.
- In dieser Datenbank gibt es bereits zwei oder mehrere WordPress Installationen mit verschiedenem präfix (z.B. wp_, wp2_).
- Vorher am Besten noch ein Backup der Datenbank erstellen. Passieren sollte zwar nicht, aber sicher ist sicher.
Wenn es sich bei den Seiten nicht gerade um Neuinstallationen handelt, sind natürlich bereits für beide WordPress Seiten schon Benutzerdaten vorhanden. Und hier müssen wir uns entscheiden: Welche Benutzerdatenbank will ich nun als meine Hauptdatenbank verwenden, über die Zukünftig alles abläuft. Wenn wir auf beiden Webseiten mit dem selben Benutzer arbeiten und keine weiteren Benutzer vorhanden sind, kann es uns egal sein. Andererseites müssten wir die Relation wp_user und wp_usermeta beider WordPress Installationen vergleichen und zusammenfügen.
Wir gehen in unserem Fall von einer Neuinstallation aus und überspringen diesen Punkt.
Der Eingriff
Nun geht es ans Eingemachte. Der Eingriff ist klein und relativ simpel. Wir öffnen unsere wp-config.php beider (oder mehreren) WordPress Seiten und fügen folgende Zeilen hinzu:
define(CUSTOM_USER_TABLE,'wp_users'); define(CUSTOM_USER_META_TABLE,'wp_usermeta');
Der Präfix muss natürlich auf die Usertabelle zeigen, die wir benutzen möchten für alle unsere Seiten.
Cookie Session
Ein einziges Problem gibt es noch. Die Cookie Session. So ist es nicht möglich, nach dem Einloggen auf Seite A, ohne erneutes Einloggen auf Seite B zu springen. Laufen beide WordPress Seiten auf dem selben Domain, könnte es unter Umständen funktionieren (Irrtum vorbehalten). Aber unser Ziel, eine Benutzerdatenbank für mehrere Installationen zu verwenden, haben wir auch so erreicht.
Probleme
Bei bereits bestehenden Seiten bei WordPress Version 2.7 aufwärts kann es sein, dass das Login auf Seite B über die Benutzerdatenbank von Seite A nicht funktioniert. Man wird in diesem Fall mit einer Meldung abgeblockt die aussagt, dass man zu wenig Zugriffsrechte hätte, um die Seite anzuzeigen. Dieser Fehler entsteht, weil Seite B auf eine Relation mit anderem Präfix zugreift. Wie dieses Problem behoben werden kann, habe ich leider noch nicht herausgefunden (Vorschläge erwünscht). Also sollte die Technik bei zwei neu erstellten Blogs getestet werden.

Pingback: Martin Felder
Pingback: Martin Felder
Klingt interessant – Aber bei meinem Glück mit WordPress lasse ich das wohl lieber.
Wenn ich das gewusst haette
Ich habe genau das Problem wie oben geschildert!:
Ihre Zugriffsrechte reichen nicht aus, um diese Seite zu anzuzeigen.
Wäre super wenn mir jemand helfen könnte!
Vielen Dank im Voraus! Super Beitrag!
Also ich habe vorher den Eintrag nachträglich erst in die wp_config.php Dateien eingefügt!
Dann habe ich es vor der Installation gemacht! Jetzt hat es super geklappt sogar mit WordPress MU! Danke für den Beitrag!
Das ist ja wieder eine menge gefummel was man braucht um zum gewünschten ERgebniss zu kommen