Es kann immer wieder Situationen geben, in denen du den Zugang zu einer WordPress-Installation benötigst, aber du hast keinen Admin-Zugang. Das kann zum Beispiel passieren, wenn du deinen Nutzernamen vergessen hast und auch keinen Zugriff (mehr) auf den damit verknüpften E-Mail-Account hast. Ist der Zugriff nämlich noch gegeben, könntest du dir über die Funktion “Passwort vergessen” ein neues Passwort erstellen und hättest so Zugriff.
Ist also all das nicht gegeben, gibt es mehrere Wege dennoch einen Admin-Account zu erstellen und sich letztlich damit einzuloggen. Im Folgenden möchte ich dir die Möglichkeit zeigen, einen Administrator-Zugang via FTP zu erstellen. Voraussetzung ist also der Zugriff per FTP. Eine andere Möglichkeit wäre es, den Weg über die Datenbank zu nehmen.
Erweiterung der functions.php
Eine Möglichkeit, einen Admin-Zugang zu erstellen, ist die Erweiterung der functions.php. Voraussetzung ist in diesem Fall, dass du weißt, welches Theme aktiv genutzt wird. Aber keine Sorge, falls du das nicht weißt, gibt es Möglichkeiten, dies herauszufinden.
Aktives Theme herausfinden
Um das aktive Theme einer WordPress-Installation herauszufinden, gibt es mehrere Wege. Der einfachste Weg ist wohl über den Quelltext. Diesen kannst du per Rechtsklick auf einer Website aufrufen. Alternativ dazu kannst du den Seitenquelltext auch mit der Tastenkombination Strg+U aufrufen oder mithilfe der Developer-Toolbar.
Im Seitenquelltext findest du relativ weit oben, also noch im <head>
–Bereich einen Hinweis, um genau zu sein, einen Link zum Stylesheet des Themes und anhand dessen lässt sich das Theme meist gut identifizieren. Ihr findet diesen Eintrag direkt, wenn ihr nach dem Begriff /themes/ sucht.
Wenn du damit nicht zurechtkommst, kannst du auch auf einen Dienst zurückgreifen, wie zum Beispiel WordPress Theme Detection, WPThemeDetector oder WPDetector.
functions.php anpassen
Lade also die functions.php des aktiven Themes herunter und ergänze sie mit dem folgenden Code:
function wpb_admin_account(){
$user = 'Username';
$pass = 'Passwort';
$email = 'email@beispiel.com';
if ( !username_exists( $user ) && !email_exists( $email ) ) {
$user_id = wp_create_user( $user, $pass, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
}
}
add_action('init','wpb_admin_account');
Hier ersetzt du die Platzhalter für Nutzernamen, das Passwort und die E-Mail-Adresse. Sollte der von dir gewählte Nutzername oder die E-Mail-Adresse schon einem existierenden Nutzer gehören, funktioniert das ganze nicht und der Vorgang wird abgebrochen. Sind die Angaben neu, wird ein Nutzer mit den angegebenen Daten angelegt und du kannst dich mit den neuen Zugangsdaten einloggen.
Bitte vergiss nicht aus Sicherheitsgründen den Code im Anschluss wieder aus der functions.php zu entfernen.
Wie immer gilt, erstelle ein Backup der WordPress-Installation, bevor du Änderungen an den Dateien oder der Datenbank vornimmst.
Image(s) licensed by Ingram Image/adpic.
Wir arbeiten seit 20 Jahren mit WordPress und bieten diverse Dienstleistungen rund um das System an. Kontaktiere uns für weitere Informationen oder für ein Angebot.
Hallo Thordis,
vielen Dank für den Tipp, sehr hilfreich! Aber ist das nicht irgendwie auch eine Sicherheitslücke, wenn man einfach so mit dem FTP-Zugang einen WP-Admin anlegen kann? Und wenn mein Versuch, das zu testen, authentisch war, bekommt ncoh nicht einmal der aktuelle Admin bzw. die unter Einstellungen -> Allgemein eingetragene Adresse eine Mail über den neuen Benutzer.
Bin gleichzeitig begeistert und erschrocken 😉
Viele Grüße
Susanne