Eliminare + utenti Wordpress contemporaneamente

posted by diegolino on 2009-06-23 00:00:00
Ciao a tutti!
Devo eliminare più di 1.000 utenti dal pannello di controllo di Wordpress e domandando sul forum di Wordpress Italy (http://www.wordpress-it.it/forum/topic/11450?replies=4) mi hanno suggerito questo script in PHP:
include('wp-config.php');
// metti le email degli utenti da eliminare separate da virgola
$mails = 'user_1@dominio.it,user_2@dominio.it,user_3@dominio.it,[....]';
$users = $wpdb->get_results("SELECT ID FROM $wpdb->users WHERE user_email IN ($mails)");
if ($users){
foreach ($users as $user){
$wpdb->query("DELETE FROM $wpdb->usermeta WHERE user_id='$user->ID'");
$wpdb->query("DELETE FROM $wpdb->users WHERE ID='$user->ID'");
}
}
Come va completato per farlo girare correttamente e secondo voi funzionerà correttamente?
Grazie per l'attenzione... se qualcuno può darmi una mano ;-)
camu
3
Allora, crea un file di testo che chiamerai elimina.php, usando il blocco note (non word). Scrivi il codice:
<?php
, incolla il codice che hai citato, e scrivi il codice
?>
. Carica il file nella cartella principale dove gira wordpress, e poi accedi la URL da un browser: http://www.iltuodominioqui.it/elimina.php ed il gioco è fatto. Attenzione, il processo è irreversibile. Una volta cancellati, non si possono più recuperare...
2 answers - 0 questions
+ 1  Positive        Negative

dail avatar
dail
12
Hello Everybody, welcome to PasteQuestion.com
Please write the question/answer in english, more users will be able to help you.
Have a nice coding.
49 answers - 0 questions
  Positive        Negative

diegolino
0
grazie ho provato ma mi riporta questo errore:
WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@dominio.it,user_2@dominio.it,user_3@dominio.it)' at line 1]
SELECT ID FROM wp_users WHERE user_email IN (user_1@dominio.it,user_2@dominio.it,user_3@dominio.it)
2 answers - 1 questions
  Positive        Negative

dail avatar
dail
12
Posted by diegolino:
grazie ho provato ma mi riporta questo errore:
WordPress database error: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@dominio.it,user_2@dominio.it,user_3@dominio.it)' at line 1]
SELECT ID FROM wp_users WHERE user_email IN (user_1@dominio.it,user_2@dominio.it,user_3@dominio.it)

Hi diegolino,
Pay attention to $mails
Try this code:
 
include('wp-config.php');
// metti le email degli utenti da eliminare separate da virgola
$mails = "'user_1@dominio.it','user_2@dominio.it','user_3@dominio.it'";
$users = $wpdb->get_results("SELECT ID FROM $wpdb->users WHERE user_email IN ($mails)");
if ($users){
foreach ($users as $user){
$wpdb->query("DELETE FROM $wpdb->usermeta WHERE user_id='$user->ID'");
$wpdb->query("DELETE FROM $wpdb->users WHERE ID='$user->ID'");
}
}
 
You have to put every single email between (single quote).
Example:
 
$users = $wpdb->get_results("SELECT ID FROM $wpdb->users WHERE user_email IN ('first@email.com', 'second@email.com')");
 
49 answers - 0 questions
+ 2  Positive        Negative

diegolino
0
grazie! funziona correttamente!
thanks this code work fine!
2 answers - 1 questions
  Positive        Negative



Answer the question



Top Users
  • dail (12)
  • livin52 (3)
  • camu (3)
  • softweb (2)
  • Nadine (1)
  • Josware (1)
  • lfelipecr (1)
  • gregoriohc (1)
  • Mitu (1)
  • ryan714 (1)