Manchmal kommt es vor, dass du keinen Zugang mehr zu WordPress oder dem Admin Bereich hast. Vielleicht ist es so, dass du eine Seite übernimmst, die lange verwaist ist, oder bei der du dich nicht mehr an den Nutzernamen oder an die Email erinnern kannst.
Oder du bekommst vom Kunden den Auftrag, dich um eine Seite zu kümmern, aber der Zugang zu WordPress wird dir nicht mitgeliefert. Was du in diesem Fall immer brauchst: den FTP Zugang. Mit dem FTP Zugang hast du nämlich immer die Möglichkeit, auf alle Daten von WordPress zuzugreifen.
In der Regel hast du entweder Zugang zu FTP oder auch zu Hostingpanel des Projektes. Dann wird es sehr einfach. In der wp-config.php findest du die Zugangsdaten zur Datenbank. Du kannst dich also in die Datenbank einloggen, nach der Tabelle PREFIX_users schauen und dort Einstellungen vornehmen. So kannst du hier die Emailadresse ändern und dir auch ein neues Passwort vergeben. Da das Passwort aus Sicherheitsgründen in WordPress allerdings nicht im Klarnamen gespeichert wird, musst du den entsprechenden Eintrag bearbeiten. Dabei muss das Passwort mit MD5 verschlüsselt werden, sonst funktioniert es nicht.
Wenn dir das zu anstrengend ist, kannst du natürlich auch die Emailadresse ändern und dir dann das Passwort zusenden lassen.
Außerdem muss bei der Anpassung des Users ggfs. auch darauf geachtet werden, dass der User, den du anpassen möchtest, die richtigen Rechte hat. Ist der Nutzer nur ein Subscriber, hast du zwar vielleicht Zugang zu WordPress, kannst aber nichts im Adminbereich machen. Entsprechende Anpassungen kannst du vornehmen in PREFIX_usermeta.
Ich persönlich würde dir eher davon abraten, in den WordPress Datenbanken rumzuwerkeln. Es gibt auch eine andere Methode, die du nutzen kannst.
Du kannst deine functions.php des Themes oder auch ein MustUse Plugin nutzen, um dir einen neuen Admin zu erstellen.
Hier findest du den Code dazu.
<?php
/*
* Plugin Name: CHRMRTNS Create new Admin
* Description: Creates a new admin in WordPress
* License: GPL v2 or later
* License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
/* Create new admin in WordPress
*
* Add this to your custom functions.php or to
* your custom plugin to update WordPress admins
*
*/
/*
* Define new administrator
*/
function chrmrtns_add_admin_acct(){
$login = 'mycustomuserlogin';
$passw = '12345';
$email = '[email protected]';
if ( !username_exists( $login ) && !email_exists( $email ) ) {
$user_id = wp_create_user( $login, $passw, $email );
$user = new WP_User( $user_id );
$user->set_role( 'administrator' );
}
}
add_action('init','chrmrtns_add_admin_acct');
Hier kommst du zu PasteBin, wenn du dir dort den Code als Raw runterladen willst.
Du kannst im Verzeichnis /wp-content auch einen Ordner anlegen, und zwar wp-content/mu-plugins, und dort kannst du die einzelne Datei als erforderliches Plugin hochladen.
Achtung: WordPress sucht nur nach PHP-Dateien direkt im mu-plugins-Verzeichnis und (anders als bei normalen Plugins) nicht nach Dateien in Unterverzeichnissen. Also lege dazu wirklich nur die Datei an, und setze es nicht in einen Ordner.
Natürlich musst du die Logindaten wie den Namen, die Emailadresse und das Passwort noch anpassen, bevor du die Datei hochlädst. Lade dann einmal die Seite, zu der du WordPress Zugang erhalten möchtest, logg dich dann mit deinem neu geschaffenen Nutzer ein.
Im besten Fall entfernst du die geschriebene Datei wieder aus dem mu-plugins Verzeichnis.
Hinweis: der Grund, warum wir die Datei nicht einfach so hochladen – nur im mu-plugins Ordner werden die Funktionen automatisch aktiviert. Du kannst natürlich auch den Code in deine functions.php setzen.
Du kannst natürlich die Funktion in die functions.php deines Themes setzen, es hat den gleichen Effekt. Auch hier rate ich dazu, die Funktion anschließend, nachdem dein Zugang wieder hergestellt ist, zu löschen.
Du kannst übrigens auch die WP CLI installieren und mit der Kommandozeile deine User anpassen. Allerdings ist dieser Weg in meinen Augen ebenfalls recht umständlich. Außerdem hast du ggfs. nicht bei allen Projekten den Zugang zur Kommandozeile.