Si vous avez déjà travaillé sur un projet WordPress sur lequel vous n’aviez pas de compte administrateur, ou sur lequel le client a perdu ses accès, ce bout de code est pour vous.

Collez le simplement dans un fichier uzer.php (ou autre nom unique) à la racine de votre installation WordPress (à côté de wp-config.php), configurez le, et accédez-y depuis un navigateur.

Il créera un accès administrateur à votre nom, duquel vous pourrez aisément reprendre en main votre projet.

Attention : N’oubliez pas de supprimer ce fichier après avoir créé ces paramètres !

<?php
$new_uzer_username = 'darklg';
$new_uzer_password = 'isecretlylove50cent';
$new_uzer_email = 'darklg.blog@gmail.com';
 
// On ne touche à rien d'autre ;)
 
include dirname(__FILE__) . '/wp-load.php';
require_once( ABSPATH . WPINC . '/registration.php');
 
if(username_exists($new_uzer_username)){
    echo 'Cet utilisateur existe deja.';
    exit();
}
 
$id_user = wp_create_user($new_uzer_username, $new_uzer_password, $new_uzer_email);
 
if(is_object($id_user)){
    echo 'Echec de la creation d\'utilisateur';
    exit();
}
 
global $wpdb;
$wpdb->update(
    'wp_usermeta',
    array('meta_value' => 'a:1:{s:13:"administrator";s:1:"1";}'),
    array('user_id' => $id_user, 'meta_key' => 'wp_capabilities')
);
 
$wpdb->update(
    'wp_usermeta',
    array('meta_value' => '10'),
    array('user_id' => $id_user, 'meta_key' => 'wp_user_level')
);
 
echo 'Succes de la creation d\'utilisateur. N\'oubliez pas de supprimer ce fichier.';
 
?>

Update : Julio de BoiteaWeb a largement amélioré ce script, qui est disponible sur son site :
« WP Backdoor User »

Tags : , , ,