Livello di accesso DB ed eliminazione di righe
WordPress usa la wpdbclasse per gestire l'accesso al livello del database usando il global $wpdb. La classe fornisce un metodo denominato delete()per eliminare le righe dalle tabelle:
$wpdb->delete( $table, $where, $where_format = null );
Tabelle multisito e chiavi di attivazione
WordPress ha alcune tabelle specifiche MU , dove si trova {$wpdb->prefix}signups(prefisso impostato nel tuo wp-config.phpfile). Schema delle tabelle qui . Il responsabile dell'attivazione dell'account utente è il activation_key, che viene impostato dopo che l'utente ha fatto clic sul collegamento nella posta. Successivamente, la activatedchiave verrà impostata con un datetimevalore. Prima dell'attivazione dell'account, il valore predefinito sarà 0000-00-00 00:00:00(nel caso in cui sia necessario eseguire una query per impostazione predefinita). Nel processo è presente anche la colonna tinyint/ , che è impostata su se un utente è attivo.1active1
Il core stesso usa wpmu_activate_signup(). Guardalo per alcuni esempi. Uno è il seguente che aggiorna una voce dell'utente per attivarla: rielaborata per essere leggibile.
$wpdb->update(
$wpdb->signups,
array(
'active' => 1,
'activated' => current_time( 'mysql', true ),
),
array( 'activation_key' => $key, )
);
Creazione di una query su account non ancora attivati
Lascia che WP faccia il duro lavoro:
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', )
);
È possibile utilizzare il terzo argomento (array) se si utilizza un modulo (n admin) per eseguire tali richieste (ad esempio l'estensione di a WP_List_Table) per indicare che si sta utilizzando una stringa. Tieni presente che devi ancora disinfettare i $_POSTvalori. Suggerimento: è possibile utilizzare user_emailanche.
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', ),
array( '%s', )
);