DB Access Layer & Löschen von Zeilen
WordPress verwendet die wpdbKlasse, um den Zugriff auf die Datenbankebene mithilfe von zu verwalten global $wpdb. Die Klasse bietet eine Methode delete()zum Löschen von Zeilen aus Tabellen:
$wpdb->delete( $table, $where, $where_format = null );
Multisite-Tabellen und Aktivierungsschlüssel
WordPress hat einige MU-spezifische Tabellen , von denen eine vorhanden ist {$wpdb->prefix}signups(Präfix in Ihrer wp-config.phpDatei festgelegt). Tabellenschema hier . Verantwortlich für die Aktivierung des Benutzerkontos ist das activation_key, das festgelegt wird, nachdem der Benutzer auf den Link in der E-Mail geklickt hat. Danach wird der activatedSchlüssel mit einem datetimeWert gesetzt. Bevor das Konto aktiviert wird, lautet der Standardwert 0000-00-00 00:00:00(falls Sie den Standardwert abfragen müssen). Ebenfalls dabei ist die Spalte tinyint/ , die auf gesetzt wird, wenn ein Benutzer aktiv ist.1active1
Core selbst verwendet wpmu_activate_signup(). Schauen Sie sich einige Beispiele an. Eine der folgenden Optionen aktualisiert einen Benutzereintrag, um ihn zu aktivieren - zur besseren Lesbarkeit überarbeitet.
$wpdb->update(
$wpdb->signups,
array(
'active' => 1,
'activated' => current_time( 'mysql', true ),
),
array( 'activation_key' => $key, )
);
Erstellen einer Abfrage für noch nicht aktivierte Konten
Lassen Sie WP einfach die harte Arbeit machen:
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', )
);
Sie können das dritte Argument (Array) verwenden, wenn Sie ein (n admin) Formular verwenden, um diese Anforderungen auszuführen (z. B. um a zu erweitern WP_List_Table), um anzuzeigen, dass Sie eine Zeichenfolge verwenden. Denken Sie daran, dass Sie die $_POSTWerte trotzdem bereinigen sollten . Hinweis: Sie können das user_emailauch verwenden.
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', ),
array( '%s', )
);