Ecco una query SQL che può venire molto utile se si usa WordPress, permette di recuperare l'utente admin oppure crearne uno nuovo, semplicemente.
Pochissime sono le volete che potrebbe succedere, però, sopratutto dopo l'aggiornamento di wordpress potrebbe accadere che non si riesca più accedere al blog o sito internet, questo perchè username e password non vengono riconosciute, a volte succede anche che, installando wordpress da zero venga riferito che questa sia installata anche se non lo è, oltre installarla effettivamente e c'è la necessità di creare un utente amministratore per gestire il CMS, ecco come risolvere questi problemi in poco tempo tramite query SQL e phpMyAdmin.
Prima di dire come fare il tutto però è doveroso che dica che tramite questo metodo, al contrario di quello per recuperare la password di wordpress non recupera effettivamente l'utente ma però permette di accedere all'amministrazione e gestire totalmente WordPress come admin.
Come aggiungere un utente amministratore su WordPress con una query SQL
In pratica, dato che le principali utilità di aggiungere un nuovo utente amministratore in WordPress sono due, le quali le ho già dette, visto che seppur siano simili, non sono uguali la creazione di un nuovo utente in un blog che ha il database la creazione di un utente admin di un nuovo blog, dopo il codice delle query ne spiego il funzionamento, il codice delle tre query che potrebbero essere unite in una sola è:
INSERT INTO `NOME-DATABASE`.`wp_users` (`ID`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_registered`, `user_activation_key`, `user_status`, `display_name`) VALUES ('ID UTENTE (un numero)', 'NOME-UTENTE', MD5('PASSWORD'), 'NOME-UTENTE', '[email protected]', 'http://localhost/wordpress/', '2012-07-22 00:00:00', '', '0', 'NOME-VISUALIZZATO');
INSERT INTO `NOME-DATABASE`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, 'STESSO-ID-MESSO-PRIMA', 'wp_capabilities', 'a:1:{s:13:"administrator";b:1;}');
INSERT INTO `NOME-DATABASE`.`wp_usermeta` (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, 'STESSO-ID-MESSO-PRIMA', 'wp_user_level', '10');
Sia che si abbia il blog realizzato con WordPress effettivamente installato sul server web o sul server locale oppure no, ovvero in entrambi i casi, tutti i valori che ho inserito in maiuscolo (solo quelli in italiano, gli altri sono comandi) dovrete personalizzarli con il nome del database, L'ID dell'utente, il nome dell'utente (utilizzato per il login) ed il nome utente visualizzato, se avete già utenti admin a cui non riuscite ad accedere, quindi se dopo l'aggiornamento non riusciste più ad accedere a WP l'unica accortezza da prendere è inserire ad esempio l'ID "2" se si ha un solo utente, se ne avete 5 inserite "6" e così via.
Se avete invece installato WordPress sul server od in locale caricando i files, e, digitando l'URL del sito avete una pagina bianca, la pagina di login compare, digitando l'indirizzo http://URL-WEB-O-LOCALE/wp-admin/install.php
vi dice che WordPress è già installata, dovrete richiamare la pagina http://URL-WEB-O-LOCALE/wp-admin/upgrade.php
e verrà creato il database, successivamente dovrete eseguire le query tramite phpMyAdmin, l'immagine di questo articolo dovrebbe togliere ogni dubbio anche a chi non è esperto.
Concludo dicendo che, dato che le query sono tutte tre "INSERT" e non "UPDATE", visto che qualche valore cerca di essere sovrascritto potrebbe darsi che nel pannello di phpMyAdmin vi dia un errore una volta che inserite la seconda e/o la terza, non fa niente, va comunque, l'ho testato ben due volte su due server locali diversi, uno Windows e l'altro Linux.
Fonte parziale WPbeginner.
Ciao.
Ho provato ma non funziona.
Dove sbaglio?
Ecco l'errore:
Query SQL:
INSERT INTO `NOMEDB`.`wp_users` (
`3` ,
`user_login` ,
`user_pass` ,
`user_nicename` ,
`user_email` ,
`user_url` ,
`user_registered` ,
`user_activation_key` ,
`user_status` ,
`display_name`
)
VALUES (
'NOME DB', 'QUI HO IL MIO NOME', MD5( 'XXXXX' ) , 'LO STESSO NOME CHE HO MESSO PRIMA', '[email protected]', 'http://localhost/wordpress/', '2012-07-22 00:00:00', '', '0', 'maurizioadmin'
);
Messaggio di MySQL: Documentazione
#1142 - INSERT command denied to user 'NOMEDB'@'62.149.150.254' for table 'wp_users'
Sicuro di avere i permessi sufficienti sul database per "insert", Maurizio?
Controlla quello come prima cosa, il messaggio d'errore dice quello.
Ciao,
Yuri.