Anleitung: Neuen WordPress Admin User mit PHP Script anlegen – funktioniert mit auch WordPress 4.x

Wordpress Version herausfinden

Man kommt immer mal wieder in die Situation, dass man den Zugang zu WordPress nicht mehr bekommt, weil man zum Beispiel das Passwort vergessen hat und eventuell dazu noch eine neue eMail-Adresse hat. Ebenso kann es vorkommen, dass man ein WordPress-Projekt von jemandem gekauft hat und dessen Zugang nicht hat. Natürlich kann man dann in der Datenbank auch eine andere eMail-Adresse eintragen oder auch ein neues Passwort über phpMyAdmin für den Admin-Benutzer setzen. Ich ziehe jedoch die Lösung mit einem PHP-Script vor, dass man kurz in den Root-Ordner der WordPress-Installation kopiert (per FTP) und nach Gebrauch wieder löscht. Innerhalb von einer Minute hat man so ohne viel Gefummel einen neuen Admin-Benutzer im Blog angelegt.

Ino-Update 29.10.2015: Wenn ich es richtige sehe, sind die beiden PHP-Scripte zu manuellen Anlegen eines Amin-Users in WordPress sehr ähnlich – auch wenn sie beide aus unterschiedlichen Quellen kommen. Ich habe auf jeden Fall das untere Script im Praxiseinsatz gehabt und es funktioniert bei der neuesten WordPress-Version.

Wichtiges Update 13.10.2015: Seit WordPress Version 4.x hat sich die Art geändert, mit der Benutzer in der Datenbank abgespeichert werden. Aus dem Grund ist es wichtig, dass man erst schaut, welche WordPress-Version man besitzt. Dies findet man per FTP im Ordner /wp-includes/version.php.

Wordpress Version herausfinden

In der Datei /wp-includes/version.php ist die Version von WordPress versteckt. Öffnet man diese Datei im Texteditor, kann man die WordPress-Version herausfinden.

Danach sollte man entscheiden, welches der folgenden Scripts man ansetzt. Ich kann nicht genau sagen, bei welcher Version die Umstellung der Users-Datenbank gemacht wurde, aber ich schätze ab Version 4.x muss man das untere Script verwenden.

PHP-Script für alte WordPress Versionen (bis 3.x)

Hier die Anleitung:

  1. Unten ist ein PHP-Code dargestellt. Den kopiert ihr euch in einen Text-Editor.
  2. Dann ändert ihr in dem oberen Bereich die Felder für Admin-eMail ($newemail), Admin-Username ($newusername) und Admin-Passwort ($newpassword). ACHTUNG: Ändert dies NUR oben in dem Script und nicht nach der Zeile "// Wichtig: Ab hier nichts mehr im Script ändern!" – es hat seinen Grund, dass dies dort steht.
  3. Nun speichert die Datei dann zum Beispiel als "admin-machen.php" ab.
  4. Ladet die Datei per FTP in das Hauptverzeichnis eurer WordPress-Installation. Das Hautpverzeichnis erkennt ihr daran, dass in dem Verzeichnis auch die Datei "wp-config.php" zu finden ist.
  5. Ruft nun im Browser die Datei auf, zB mit http://www.euerwordpress.de/neuer-admin.php (Domainname bitte anpassen!)
  6. Nach dem Aufruf müsste der neue User angelegt sein. Bitte prüft das, indem ihr euch einloggt.
  7. Unbedingt zum Abschluß das Script wieder vom Server löschen, da es ein Sicherheitsrisiko darstellt, wenn es langfristig dort rumliegt.

set_role('administrator');
echo 'Der neue Admin wurde erfolgreich anlegt. Bitte lösche nun dieses Script!';
}
else {
echo 'Es gab einen Fehler mit wp_insert_user. Es wurde kein neuer Benutzer angelegt.';
}
}
else {
echo 'Dieser User oder eMail existieren schon. Es wurde nichts verändert.';
}
}
else {
echo 'Oh, sieht aus, als wäre Password, Username oder eMail nicht eingetragen.';
echo 'Bevor du das Script startest, setze bitte deine Werte für die Variablen oben im Script ein und versuche es dann nochmal!.';
} 
?>

Das Script habe ich mir ursprünglich bei joshuawinn.com geholt und etwas geändert.

PHP-Script für alte WordPress Versionen (ab 4.x)

Hier nun ein neues Script, das ich auf Github entdeckt habe. Dieses fügt einen neuen Admin-User bei neueren WordPress-Versionen hinzu. Passt das Script an, indem ihr eure Zugangsdaten und eMail eintragt. Ansonsten funktioniert die Verwendung genauso wie in der oben beschriebenen Anleitung.


set_role('administrator');
			echo 'Successfully created new admin user. Now delete this file!';
		}
		else {
			echo 'Error with wp_insert_user. No users were created.';
		}
	}
	else {
		echo 'This user or email already exists. Nothing was done.';
	}
}
else {
	echo 'Whoops, looks like you did not set a password, username, or email';
	echo 'before running the script. Set these variables and try again.';
}

Sir Apfelot auf SteadyHQ unterstützen

4 Kommentare

  1. Gerade das Ändern des Passwortes oder der Mail-Adresse via PhpMyAdmin finde ich wesentlich einfacher und schneller, als die von Dir genannten Schritte. Allerdings empfiehlt sich dieser für Diejenigen, die sich an Datenbanken nicht rantrauen. 😉

    • Sir Apfelot sagt:

      Naja, bis ich die Zugangsdaten zum Adminbereich und dem phpmyadmin rausgekramt habe, habe ich das Skript 3x hochgespielt. Aber das ist vermutlich eine Frage der Organisation. Der Weg zum FTO Programm ist bei mir eben der schnellste. 🙂

  2. iMeister sagt:

    Das funktioniert irgendwie nicht. In der Anleitung steht

    Admin-eMail, Admin, Username und Admin-Passwort

    im Skript ist aber nur

    Admin-eMail, Username und Admin-Passwort

    Die Anleitung könnte etwas detaillierter sein, z.B. was ist der Root-Ordner (woran erkennt man, dass man in diesem drin ist), was wird angezeigt, wenn man die neue PHP-Datei aufruft.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.