it-swarm.com.de

wp_delete_user mit Benutzername

Die Funktion wp_delete_user() erfordert eine Benutzer-ID und [optional] eine Neuzuweisung der ID, wenn der Inhalt einem anderen Benutzer zugewiesen werden soll.

Die Benutzernamen aller Benutzer sind ebenfalls eindeutig, da WP keine doppelten Benutzernamen zulässt. Wenn ich den Benutzernamen kenne, gibt es keine Möglichkeit, mit nur einer PHP/mysqli-Abfrage den Benutzer zu löschen, anstatt zunächst eine Abfrage auszuführen, um die ID dieses Benutzers zu ermitteln, und dann WordPress anzuweisen, diesen Benutzer zu löschen?

2
Rajesh Kakkad

Dies ist mit nur einer Abfrage nicht möglich. Aber um ehrlich zu sein - das Löschen eines Benutzers erfordert mehr als eine Abfrage selbst ...

Sie sollten hierfür kein benutzerdefiniertes SQL verwenden, da es viele Dinge gibt, die Sie auf diese Weise beschädigen könnten. Verwenden Sie immer WP -Funktionen, wenn diese vorhanden sind (was ist, wenn ein Plugin jeden gelöschten Benutzer protokolliert, oder was ist, wenn andere Maßnahmen sind erforderlich usw.)

Sie können get_user_by verwenden, um dies zu erreichen. Hier ist das Beispiel:

$user = get_user_by( 'login', 'john' );
if ( $user ) { // get_user_by can return false, if no such user exists
    wp_delete_user( $user->ID );
}

Die Felder, mit denen Sie Benutzer abrufen können, sind: ID | slug | email | login.

1

Es ist empfehlenswert, die WordPress-Funktion wp_delete_user () zu verwenden, da dadurch auch Benutzer-Metas gelöscht werden, indem mehrere Abfragen in der WordPress-Datenbank ausgeführt werden.

Weitere Informationen finden Sie im WordPress-Codex: https://developer.wordpress.org/reference/functions/wp_delete_user/

Außerdem ist es einfach, die Benutzer-ID abzurufen und den Benutzer durch Hinzufügen von etwas wie zu löschen

    $user = get_userdatabylogin('loginname');
    if($user){
        //delete user if exists
        wp_delete_user($user->ID);
    }

Oder Sie müssen mehrere Abfragen ausführen, um eine sehr komplexe Abfrage zu generieren und den Benutzer ordnungsgemäß aus der WordPress-Datenbank zu entfernen

0
Vatsh Patel