Couche d'accès DB et suppression de lignes
WordPress utilise la wpdb
classe pour gérer l'accès à la couche de base de données à l'aide de global $wpdb
. La classe fournit une méthode nommée delete()
pour supprimer des lignes des tables:
$wpdb->delete( $table, $where, $where_format = null );
Tables multisites et clés d'activation
WordPress a des tables spécifiques à MU , où une est {$wpdb->prefix}signups
(préfixe défini dans votre wp-config.php
fichier). Schéma des tables ici . Le responsable de l'activation du compte utilisateur est le activation_key
, qui est défini après que l'utilisateur a cliqué sur le lien dans l'e-mail. Après cela, la activated
clé sera définie avec une datetime
valeur. Avant l'activation du compte, la valeur par défaut sera 0000-00-00 00:00:00
(au cas où vous auriez besoin de rechercher la valeur par défaut). Également dans le processus est la colonne tinyint
/ , qui est définie si un utilisateur est actif.1
active
1
Core lui-même utilise wpmu_activate_signup()
. Regardez-le pour quelques exemples. L'un est le suivant qui met à jour une entrée utilisateur pour l'activer - retravaillé pour plus de lisibilité.
$wpdb->update(
$wpdb->signups,
array(
'active' => 1,
'activated' => current_time( 'mysql', true ),
),
array( 'activation_key' => $key, )
);
Création d'une requête sur des comptes non encore activés
Laissez simplement WP faire le gros du travail:
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', )
);
Vous pouvez utiliser le troisième argument (tableau) si vous utilisez un formulaire (n admin) pour effectuer ces requêtes (par exemple, étendre a WP_List_Table
) pour indiquer que vous utilisez une chaîne. Gardez à l'esprit que vous devez toujours nettoyer les $_POST
valeurs ed. Astuce: vous pouvez également utiliser le user_email
.
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', ),
array( '%s', )
);