Call to undefined function wp_delete_user()

s01 0933

Ü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' );
Code-Sprache: PHP (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' );
Code-Sprache: PHP (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().

Kommentarformular bitte nicht für Supportanfragen verwenden

Schreibe einen Kommentar

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