WordPress – logowanie z poziomu kodu

Jesteś programistą WordPress’a – dokonujesz zmian na stronie. Masz dostęp do kodu i nie chcesz tracić czasu na pytanie o dane do panelu admina. Jest na to sposób, możesz dokonać logowania z poziomu kodu wykonując kilka prostych operacji.

Załóżmy że konto na które chcemy się zalogować to admin. Wstawiamy poniższy kod w miejscu gdzie wiemy że na pewno się uruchomi. Może to być plik w tworzonym przez nas pluginie lub plik functions.php naszego motywu. Zostaną wykonane wszystkie kroki tak jak przy standardowym logowaniu (pomijając sprawdzenie poprawności wpisanego hasła).

 $user_login = 'admin';
 $user = get_user_by('login', $user_login);
 $user_id = $user->ID;
 wp_set_current_user($user_id, $user_login);
 wp_set_auth_cookie($user_id);
 do_action('wp_login', $user_login);

Notka: Wstawiając ten kod na stronę należy pamiętać że umożliwi on logowanie na konto admina każdej osobie która odwiedzi stronę. Jeżeli może stanowić to dla nas problem możemy wykonać proste sprawdzenie użytkownika np po naszym ip. Wykonujemy to umieszczając poniższy kod w operacji warunkowej if i sprawdzeniu czy odpowiednia pozycja w zmiennej $_SERVER zawiera nasz serwer IP.