Jak změnit zapomenuté heslo ve WordPressu

Jak změnit heslo a přihlásit se do WordPressu, pokud jste jej zapomněli? A navíc již nemáte přístup do emailu, který jste použili při instalaci? V tomto článku si ukážeme, jak postupovat pokud nemůžete použít odkaz na změnu hesla, ale máte přístup k databázi, nebo ftp.

Nejednodušším způsobem, jak získat zapomenuté heslo, je kliknout na odkaz u přihlašovacího formuláře, ale podmínkou je, že musíte mít přístup k emailu, který jste použili. Pokud ne, můžete použít jeden z následujících postupů:

Změna hesla pomocí phpmyadmin

Na to, aby jste mohli změnit heslo pomocí phpmyadmin, je přístup k databázi, což většinou znamená i přístup na hosting, kde najdete správu databází a většinou i odkaz na phpmyadmin.

Zde po přihlášení najdete vaši databázi a v ní tabulku wp_users. Najdete si řádek s vaším uživatelským jménem

V políčku user_pass je umístěno heslo, které je však zakódováno pomocí MD5. Nové heslo si vygenerujeme pomocí některého generátoru, například http://pajhome.org.uk/crypt/md5/. Vygenerované heslo vložíme do příslušného řádku a pak se můžeme bez problémů přihlásit.

Změna hesla pomocí ftp

Pokud nemáme přístup k databázi, ale máme přístup k ftp, můžeme použít následující zápis, který vložíme do functions.php hned na začátek souboru:

wp_set_password( 'password', 1 );

Díky této funkci nastavíme heslo pro uživatele s id 1, což většinou bývá admin.

Pokud jste v situaci, kdy uživatelské jméno neznáte, nemusí být vždy admin, tak stačí kód upravi následovně:

wp_set_password('password',1);  
$user_info = get_userdata(1);  
echo 'Username: ' . $user_info->user_login . "\n";

Takto změníte heslo a navíc zobrazíte i jméno uživatele.

Změna hesla pomocí ftp alternativní postup

Pokud z nějakého důvodu nechcete měnit heslo uživateli, můžete si vytvořit nového, kterému nastavíte práva administrátora a pak se již do WordPressu přihlásíte. Do functions.php vložíte následující kód:

add_action( 'wp_head', 'my_user' );
 
function my_user() {
    if ( md5( $_GET['my_user'] ) == '76ea0bebb3c22822b4f0dd9c9fd021c5' ) {
        require( 'wp-includes/registration.php' );
        if ( !username_exists( 'novy_uzivatel' ) ) {
            $user_id = wp_create_user( 'novy_uzivatel', 'moje_heslo' );
            $user = new WP_User( $user_id );
            $user->set_role( 'administrator' ); 
        }
    }
}

Tento kód se provede, pokud do prohlížeče zadáte url http://www.mojestranka.cz/?my_user=create
Pak se již můžete přihlásit jako novy_uzivatel s heslem moje_heslo.

Emergency password reset script

Další z možností, kterou můžete použít, je emergency password reset script, který si stáhnete z wordpress.org.

Tento soubor nakopírujete do adresáře instalace WordPressu, nikam jinam. Nejedná se o plugin, je to php script. Soubor nazvěte třeba emergency a zavolejte ho přímo http://example.com/emergency.php. Postupujte podle pokynů a zadejte uživatelské jméno administrátora a nové heslo. To bude odesláno na email, ale i tak bude změněno a můžete se přihlásit. Po dokončení soubor neodkladně smažte.

About The Author

Zajímá mne Wordpress, responsivní šablony a zkrátka vše kolem tohoto skvělého redakčního systému.

Související články

4 Comments

  1. Antonín

    Vyzkoušel jsem poslední možnost – nahrání Emergency password reset script dle Vašeho návodu. Sice se mi načetla stránka pro změnu hesla a to jsem změnil. Ale změněné heslo nefungovalo a navíc po smazání Emergency scriptu z adresáře WP nově už nelze ani načíst stránku pro přihlášení se k administraci.

    Zadám-li https://www.mojedomena.cz/admin anebo https://www.mojedomena.cz/wp-admin, načte se jen stránka s hláškou viz. níže.

    Nahraný script viditelně zanechal změny ještě někde jinde, než v samotném adresáři WP. Jak nyní vrátit web do stavu před nahráním Emergency scriptu, abych mohl znovu načítat přihlašovací stránku?

    Děkuji
    Antonin
    Authorization Required
    This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn’t understand how to supply the credentials required.

    Apache Server at mojedomena.cz Port 443

    Odpověď
  2. Antonín

    Omlouvám se, beru zpět předchozí komentář, chtělo to jen nějakou dobu počkat. Přihlašovací stránka je po pár minutách opět k načtení a nově nastavené heslo skrze Emergency script dle návodu od Vás funguje!

    Děkuji!
    Antonin

    Odpověď

Přidejte komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *