HowTo: Semmelstatz 3.x unter WordPress 2.x

geschrieben am 12.Juni 2009


semmelDas Plugin Semmelstatz erfreut sich trotz der Einstellung der Weiterentwicklung nach wie vor einer großen Beliebtheit im deutschsprachigem Raum. Viele User sind allerdings inzwischen aufgegeben, da es “mit den neuen Versionen nicht läuft”. So beklagt sich der Großteil der ehemaligen Nutzer. Auch ich habe Semmelstatz zusätzlich im Einsatz. Der “Bug” um Semmelstatz ist eigentlich keiner. Es handelt sich lediglich um eine fehlende Variable, die dem User den Zugriff versperrt. Die Variable user_role, die in den Variablen-Initialisierung auf gleich oder größer Acht gesetzt wird (für Administratoren). Da WordPress diesen Wert allerdings nicht mehr setzt, muss dieses selbst nachgeholt werden. Eine Änderung die mit Version 2 von WordPress vollzogen wurde (korrigiert mich, wenn ich falsch liege).

Es muss in der usermeta Tabelle eine Zeile eingefügt werden, die besagt: Der User, der auf Semmelstatz zugreifen soll, hat eine Berechtigung, die höher oder gleich liegt als die, die du verlangst. Es werden folgende Werte verlangt, die in Abhängigkeit mit den Semmelstatz-Einstellungen hängen.

Benutzergruppe / Wert (gleicher oder größer)
Mitarbeiter1
Autor2
Herausgeber3
Administrator8

Wenn ein Administrator-Konto Semmelstatz angezeigt bekommen soll, muss der Wert in der usermeta-Tabelle auf mindestens 8 (10 waren in WP1.x eigentlich die Admins) gesetzt werden. Das SQL-Statement dazu sieht wie folgt aus (WP = euer WordPress-Präfix):
[sourcecode language='sql']
INSERT INTO `wp_usermeta` (
`umeta_id` ,
`user_id` ,
`meta_key` ,
`meta_value`
)
VALUES (
NULL , ’1′, ‘wp_user_level’, ’8′
);
[/sourcecode]
Da die Spalte umeta_id auto_increment ist, übergibt man ihr eine NULL. In der user_id kommt die User-ID des Benutzers, der Zugriff auf die Statistik erhalten soll. Im Beispiel ist dies Usernummer 1, i.d.R. der Admin. Diesen Benutzer hat man aber sicher vorsorglich nach der Installation gelöscht, so wie es an vielen Stellen empfohlen wird. Im Zweifelsfall kann man die Nutzer-ID in Tabelle users finden.

Nach dem erfolgreichen Eintrag in die Tabelle usermeta werden euch die Semmelstatz ordnungsgemäß im Administrationsbereich angezeigt.

Wer nicht direkt auf die Datenbank aufsetzen möchte (oder kann), der muss sich noch ein paar Tage gedulten. Ich beabsichtige für den Fix ein Plugin schreiben, welches es ermöglichst User und Level über ein Formular auszuwählen.