Couche d'accès DB et suppression de lignes
WordPress utilise la wpdbclasse 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.phpfichier). 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 activatedclé sera définie avec une datetimevaleur. 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.1active1
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 $_POSTvaleurs ed. Astuce: vous pouvez également utiliser le user_email.
global $wpdb;
$wpdb->delete(
$wpdb->signups,
array( 'user_login' => 'some_login', ),
array( '%s', )
);