Einen WordPress Benutzer über FTP anlegen

Warum wohl müsste man einen WordPress-Benutzer über FTP anlegen? Gründe dafür gibt es viele:

  • keiner weiß mehr das Passwort oder den Benutzernamen;
  • der Kunde hat nur die FTP-Zugangsdaten geschickt aber keinen neuen Nutzer in WordPress angelegt;
  • und so weiter.

In jedem Fall gilt: man hat keinen Zugriff und den will man (zurück) haben. Hier steht, wie es funktionieren kann.

Administrator über FTP in WordPress anlegen: Methode 1 (über Plugin)

  1. Laden Sie die Datei create-ftp-user.php herunter (vorher entzippen. Im Ordner befindet sich dann die Datei).
  2. Öffnen Sie die Datei mit einem Editor (z.B. Sublime Text).
  3. Passen Sie die Benutzerdaten an (Benutzer, Passwort und E-Mail-Adresse).
  4. Speichern Sie die Datei.
  5. Öffnen Sie eine FTP-Verbindung zu Ihrer WordPress-Installation.
  6. Navigieren Sie zu wp-content/mu-plugins.
  7. (Falls das Verzeichnis mu-plugins nicht existiert, erstellen Sie es).
  8. Laden Sie die Datei create-ftp-user.php hoch.
  9. Wechseln Sie zu Ihrer Website und versuchen Sie sich mit den neuen Benutzerdaten anzumelden.
  10. Wenn es geklappt hat, löschen Sie die Datei wieder.
  11. Sollte es nicht geklappt haben, Sie unten:

Administrator über FTP in WordPress anlegen: Methode 2 (über Theme)

functions.php im Theme-Verzeichnis von WordPress
functions.php eines Themes

Wenn man nur die FTP-Zugangsdaten hat, kann man sich wie folgt behelfen:

  1. Öffne die FTP-Verbindung zum Webserver.
  2. Gehe zum Verzeichnis /wp-content/themes/.
  3. Finde das aktuell genutzt Theme und öffne das Verzeichnis.
  4. Lade die functions.php-Datei herunter.
  5. Öffne die functions.php mit einem Editor deiner Wahl z.B. mit SublimeText.
  6. Füge unten stehenden Code am Ende der Datei ein und passe es an.
  7. Lade die Datei wieder hoch.
  8. Versuche dich einzuloggen: http://deineseite.de/wp-login.php
function pm_create_user() {
   $user  = 'mike'; # Hier den Benutzernamen eintragen
   $pass  = '********'; # Hier das gewünschte Passwort eintragen
   $email = 'mike@deineseite.de'; # Hier die gewünschte E-Mail-Adresse eintragen

   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', 'pm_create_user' );

Das war’s schon. Wenn der Login geklappt hat, sollte man die entsprechenden Zeilen wieder aus der functions.php entfernen.

Was tut das Script?

Das Script überprüft, ob ein Benutzer anhand des Benutzernamens oder der E-Mail-Adresse schon existiert. Falls nicht, wird ein neuer Nutzer mit den entsprechenden Daten angelegt.

Was ist, wenn der Login nicht funktioniert?

Das kann passieren. Und zwar dann, wenn es bereits einen Benutzer mit der gewünschten E-Mail-Adresse oder dem Benutzernamen gibt. Das Script oben überschreibt nicht die alten Daten mit den Neuen.