Call to undefined function wp_delete_user()

Mikrofasertücher an der Leine
fotografiert von Gabriele Lässer

Üblicherweise werden Admin-Funktionen außerhalb des Dashboards allerdings nicht gebraucht, und daher auch nicht geladen. Aus diesem Grund führt die der Aufruf wp_delete_user() in einem Plugin zu dem Fehler.

require_once( ABSPATH . 'wp-admin/includes/user.php' );

Die Datei mit der Funktion muss daher eingebunden werden, um einen User über ein Plugin löschen zu können.

Ziemlich oft stolperte ich noch über den Hinweis, dass in einer Multisite-Umgebung

require_once( ABSPATH . 'wp-admin/includes/ms.php' );

eingebunden werden müsse. Allerdings nicht, wenn es nur um die Funktion wp_delete_user() geht. Die gibt es nur einmal, und daher ist dafür unabhängig davon ob Multisite oder nicht, auch immer die user.php zuständig. In der Multisite-Umgebung wird mit wp_delete_user() ein User allerdings nur von der aktuellen Site entfernt. Sein Account bleibt dennoch erhalten, und die Daten in der user- und usermeta-Tabelle gespeichert.

Die Datei braucht es also tatsächlich dafür, um einen User komplett aus dem Netzwerk zu löschen, jedoch dann mit der Funktion wpmu_delete_user().

Bitte Kommentarfunktion nicht für Supportanfragen nutzen. Dem kann hier nicht entsprochen werden. Die Angabe einer E-Mail-Adresse und eines Namens ist nicht erforderlich. Einen (Spitz)-Namen zu nennen wäre aber doch nett.

Schreibe einen Kommentar

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

Hinweis: Sowohl angegebener Name als auch E-Mail-Adresse (beides ist optional, dafür werden alle Kommentare vor Veröffentlichung geprüft) werden dauerhaft gespeichert. Du kannst jeder Zeit die Löschung Deiner Daten oder / und Kommentare einfordern, direkt über dieses Formular (wird nicht veröffentlicht, und im Anschluss gelöscht), und ich werde das umgehend erledigen. – Mit hinterlassenen Kommentaren hinterlegte IP-Adressen werden nach zwei Monaten automatisch gelöscht

publicly queryable