Warstwa dostępu do bazy danych DB i usuwanie wierszy
WordPress używa wpdbklasy do zarządzania dostępem do warstwy bazy danych za pomocą global $wpdb. Klasa udostępnia metodę o nazwie służącą delete()do usuwania wierszy z tabel:
$wpdb->delete( $table, $where, $where_format = null );
Tabele wielu witryn i klucze aktywacyjne
WordPress ma kilka tabel specyficznych dla MU , gdzie jest jedna {$wpdb->prefix}signups(prefiks ustawiony w wp-config.phppliku). Schemat tabel tutaj . Za aktywację konta użytkownika odpowiada użytkownik activation_key, który ustawia się po kliknięciu przez użytkownika łącza w wiadomości e-mail. Następnie activatedklucz zostanie ustawiony z datetimewartością. Przed aktywacją konta wartością domyślną będzie 0000-00-00 00:00:00(na wypadek, gdyby konieczne było zapytanie o wartość domyślną). W tym procesie jest także kolumna tinyint/ , która jest ustawiona, jeśli użytkownik jest aktywny.1active1
Sam rdzeń używa wpmu_activate_signup(). Spójrz na kilka przykładów. Jedna z nich aktualizuje wpis użytkownika, aby go aktywować - przerobiono pod kątem czytelności.
$wpdb->update(
$wpdb->signups,
array(
'active' => 1,
'activated' => current_time( 'mysql', true ),
),
array( 'activation_key' => $key, )
);
Budowanie zapytania w stosunku do jeszcze nie aktywowanych kont
Po prostu pozwól WP wykonać ciężką pracę:
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', )
);
Możesz użyć trzeciego argumentu (tablicy), jeśli używasz formularza (n admin) do wykonania tych żądań (np. Rozszerzenia a WP_List_Table) w celu wskazania, że używasz łańcucha. Pamiętaj, że nadal powinieneś dezynfekować $_POSTwartości ed. Wskazówka: możesz również użyć user_email.
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', ),
array( '%s', )
);