DB Access Layer & Löschen von Zeilen
WordPress verwendet die wpdb
Klasse, 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.php
Datei 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 activated
Schlüssel mit einem datetime
Wert 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.1
active
1
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 $_POST
Werte trotzdem bereinigen sollten . Hinweis: Sie können das user_email
auch verwenden.
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', ),
array( '%s', )
);