web-dev-qa-db-fra.com

Erreur de suppression en bloc des utilisateurs uri trop volumineux

J'essaie de supprimer des milliers d'utilisateurs à la fois. Après avoir constaté que je ne pouvais afficher simultanément que 999 enregistrements d’utilisateurs à l’aide du menu "Options d’écran", j’ai pensé que tout irait bien. Mais en cliquant sur supprimer, j'obtiens une erreur "Request-URI Too Large".

Comment puis-je supprimer ces utilisateurs sans le faire 10 ou 20 à la fois?

2
am71722

Vous pouvez exécuter des requêtes SQL directement sur la base de données. Assurez-vous simplement de sauvegarder votre base de données avant de commencer. - Dalbaeb

Ce lien laissé par dalbaeb a résolu mon problème: http://www.scriptol.com/wordpress/mass-delete-users.php

Il supprime tous les enregistrements requis

Merci a tous!

0
am71722

Je crains d'essayer de faire cela, c'est SQL. C'est possible mais probablement pas nécessaire et c'est plus sujet aux erreurs qu'avec les fonctions de WordPress Core.

Vous pouvez utiliser get_users() ou WP_User_Query pour récupérer vos utilisateurs, mais étant donné que vous Je veux seulement garder deux utilisateurs et vous n'avez besoin que de la ID pour wp_delete_user qui sont assez lourds. Je viens de lancer une requête rapide sur la table des utilisateurs et de la parcourir en boucle.

$users = $wpdb->get_col("SELECT ID FROM {$wpdb->users} WHERE ID NOT IN (1,2)");
// var_dump($users); // debug
foreach ($users as $u) {
  wp_delete_user($u);
}

C'est irréversible.

Bien entendu, vous devrez fournir les deux utilisateurs IDs aux utilisateurs que vous souhaitez conserver.

Testez les données de la corbeille et assurez-vous que c'est ce que vous voulez vraiment faire. Veuillez également noter que, sauf si un deuxième paramètre est passé, wp_delete_user supprimera les publications associées à l'utilisateur supprimé.

Si le paramètre $ réaffecter n'est pas affecté à un ID utilisateur, toutes les publications de cet utilisateur seront supprimées. L'action 'delete_user' qui transmet l'ID utilisateur en cours de suppression sera exécutée une fois les publications réaffectées ou supprimées. Les méta-utilisateurs seront également supprimés pour cet ID utilisateur.

1
s_ha_dum