Warstwa dostępu do bazy danych DB i usuwanie wierszy
WordPress używa wpdb
klasy 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.php
pliku). 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 activated
klucz zostanie ustawiony z datetime
wartoś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.1
active
1
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ć $_POST
wartoś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', )
);