Camada de acesso ao banco de dados & excluindo linhas
O WordPress usa a classe wpdb
para gerenciar o acesso à camada de banco de dados usando o global $wpdb
. A classe fornece um método chamado delete()
para excluir as linhas das tabelas:
$wpdb->delete( $table, $where, $where_format = null );
Tabelas multisite & chaves de ativação
O WordPress tem algumas tabelas específicas de MU , onde uma é {$wpdb->prefix}signups
(prefixo definido no seu wp-config.php
Arquivo). Esquema das tabelas aqui . Responsável pela ativação da conta de usuário é o activation_key
, que é definido após o usuário clicar no link no e-mail. Depois disso, a chave activated
será definida com um valor datetime
. Antes de a conta ser ativada, o valor padrão será 0000-00-00 00:00:00
(no caso de você precisar consultar o padrão). Também no processo está o tinyint
/ 1
column active
, que é definido como 1
se um usuário estiver ativo.
O próprio Core usa wpmu_activate_signup()
. Veja alguns exemplos. Um é o seguinte que atualiza uma entrada de usuário para ativá-la - retrabalhada para facilitar a leitura.
$wpdb->update(
$wpdb->signups,
array(
'active' => 1,
'activated' => current_time( 'mysql', true ),
),
array( 'activation_key' => $key, )
);
Criando uma consulta em contas ainda não ativadas
Simplesmente deixe o WP fazer o trabalho pesado:
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', )
);
Você pode usar o terceiro argumento (matriz) se estiver usando um formulário (n admin) para executar essas solicitações (por exemplo, estendendo um WP_List_Table
) para indicar que está usando uma string. Lembre-se de que você ainda deve limpar os valores de $_POST
ed. Dica: você também pode usar o user_email
.
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', ),
array( '%s', )
);