
Tak, nowego administratora WordPressa można dodać wyłącznie przez FTP, używając prostego pliku PHP, bez logowania do panelu i bez grzebania w bazie danych.
Spis treści
Kiedy potrzebne jest dodanie administratora przez FTP?
Taka sytuacja pojawia się najczęściej wtedy, gdy:
- nikt nie pamięta hasła administratora,
- adres e-mail przypisany do konta już nie istnieje,
- panel logowania WordPressa jest niedostępny,
- reset hasła nie działa,
- WP-CLI nie jest dostępne lub nie chcesz z niego korzystać,
- ingerencja w bazę danych wydaje się ryzykowna.
Jeśli masz dostęp do plików strony przez FTP lub menedżer plików hostingu, to rozwiązanie jest najszybsze i najmniej stresujące.
Jak działa rozwiązanie oparte o plik PHP?
Całość opiera się na jednym pliku PHP, który:
- ładuje środowisko WordPressa,
- sprawdza, czy użytkownik o danym loginie istnieje,
- jeśli istnieje – zmienia hasło i adres e-mail,
- jeśli nie istnieje – tworzy nowe konto,
- przypisuje rolę administratora,
- usuwa sam siebie po wykonaniu operacji.
Nie wymaga to żadnych zewnętrznych narzędzi ani dostępu do panelu.
Jak krok po kroku dodać administratora przez FTP?
- Utwórz nowy plik tekstowy na komputerze.
- Wklej do niego kod PHP (poniżej).
- Zmień dane użytkownika według własnych potrzeb.
- Zapisz plik jako
nowyadmin.php. - Prześlij plik do głównego katalogu WordPressa przez FTP.
- Otwórz plik w przeglądarce, np.
https://twojadomena.pl/nowyadmin.php?token=TWOJ_TOKEN - Po wykonaniu operacji plik zostanie usunięty automatycznie.
Gotowy kod PHP dodający administratora
Poniższy kod jest w pełni zgodny z opisem w artykule:
<?php
/**
* Jednorazowy "ratunek" do odzyskania dostępu:
* - jeśli user istnieje: ustawia hasło + e-mail
* - jeśli nie istnieje: tworzy usera
* - ustawia rolę administrator
*
* Uruchom: /nazwa-pliku.php?token=TU_WSTAW_TOKEN
* Po sukcesie próbuje usunąć sam siebie.
*/
$expected_token = 'WSTAW_TUTAJ_DLUGI_LOSOWY_TOKEN_32_64_ZNAKI';
$token = $_GET['token'] ?? '';
if (!hash_equals($expected_token, $token)) {
http_response_code(403);
exit('Brak dostępu.');
}
// Stabilne ładowanie WP - zakładamy, że plik leży w katalogu głównym WP
$wp_load = __DIR__ . '/wp-load.php';
if (!file_exists($wp_load)) {
http_response_code(500);
exit('Nie znaleziono wp-load.php. Wrzuć plik do katalogu głównego WordPressa.');
}
require_once $wp_load;
// USTAW TO POD SIEBIE
$new_user_login = 'uzytkownik';
$new_user_pass = 'NoweHaslo';
$new_user_mail = 'adresemail@example.com';
// Walidacja
$new_user_login = sanitize_user($new_user_login, true);
$new_user_mail = sanitize_email($new_user_mail);
if (empty($new_user_login)) exit('Błędny login.');
if (!is_email($new_user_mail)) exit('Błędny e-mail.');
$user = get_user_by('login', $new_user_login);
if ($user) {
$result = wp_update_user([
'ID' => $user->ID,
'user_pass' => $new_user_pass,
'user_email' => $new_user_mail,
]);
if (is_wp_error($result)) {
exit('Błąd aktualizacji: ' . $result->get_error_message());
}
$user = get_user_by('id', $user->ID);
$user->set_role('administrator');
echo 'OK: Użytkownik zaktualizowany i ustawiony jako administrator.';
} else {
// Tworzenie + rola admin od razu
$user_id = wp_insert_user([
'user_login' => $new_user_login,
'user_pass' => $new_user_pass,
'user_email' => $new_user_mail,
'role' => 'administrator',
]);
if (is_wp_error($user_id)) {
exit('Błąd tworzenia: ' . $user_id->get_error_message());
}
echo 'OK: Utworzono nowego administratora.';
}
// Autodestrukcja (jak nie zadziała - usuń ręcznie!)
@unlink(__FILE__);
exit;
Jak bezpiecznie uruchomić i usunąć plik?
Po wejściu na adres pliku:
- operacja wykona się tylko raz,
- plik zostanie usunięty automatycznie,
- nie zostawi po sobie dostępu administracyjnego przez URL.
Jeśli pojawi się błąd PHP i plik się nie usunie, koniecznie usuń go ręcznie przez FTP.
Przykład realnego użycia
Strona firmowa przestała wysyłać e-maile, a jedyny administrator był przypisany do nieistniejącej skrzynki. Reset hasła nie działał, panel był niedostępny. Wgranie tego pliku przez FTP pozwoliło:
- zmienić hasło,
- ustawić nowy e-mail,
- odzyskać pełen dostęp w mniej niż minutę.
Bez kontaktu z hostingiem i bez edycji bazy danych.
Najczęstsze błędy przy tej metodzie
- Literówka w nazwie pliku
wp-load.php - Wgranie pliku do złego katalogu
- Brak średnika w PHP
- Nieusunięcie pliku po błędzie
- Użycie zbyt prostego hasła na produkcji
Role użytkowników – szybkie porównanie
| Rola | Uprawnienia | Kiedy używać |
|---|---|---|
| administrator | Pełna kontrola | Odzyskiwanie dostępu |
| editor | Treści i media | Redakcja |
| author | Własne wpisy | Blog |
| contributor | Szkice | Współpraca |
| subscriber | Konto | Czytelnicy |
| shop_manager | Sklep | WooCommerce |
Administrator zawiera w sobie wszystkie pozostałe uprawnienia.
Mini FAQ
Czy mogę zmienić tylko hasło bez tworzenia konta?
Tak, jeśli login istnieje, konto nie zostanie utworzone ponownie.
Czy mogę przypisać inną rolę?
Tak, wystarczy zmienić nazwę roli w add_role().
Czy to działa na każdym hostingu?
Tak, o ile PHP ma dostęp do usuwania plików lub wykonasz to ręcznie.
Najważniejsze informacje w 3 punktach
- Dostęp FTP wystarcza do odzyskania administratora WordPressa
- Jeden plik PHP załatwia całą operację
- Plik powinien zniknąć natychmiast po użyciu
Podsumowanie
To rozwiązanie jest skuteczne, ale potencjalnie niebezpieczne, jeśli zostanie użyte nieodpowiedzialnie. Plik PHP dodający administratora omija standardowe mechanizmy logowania WordPressa, dlatego każdy, kto uzyska do niego dostęp, może przejąć pełną kontrolę nad stroną. Największym zagrożeniem jest pozostawienie pliku na serwerze po wykonaniu operacji – w takim przypadku wystarczy znać adres URL, aby ponownie uruchomić skrypt lub go zmodyfikować. Ryzyko zwiększa się także wtedy, gdy FTP jest słabo zabezpieczone lub współdzielone z innymi osobami. Tego typu plik powinien być traktowany wyłącznie jako narzędzie awaryjne, używane jednorazowo, a następnie bezwzględnie usunięte. Na produkcji warto dodatkowo zmienić hasło administratora zaraz po zalogowaniu i sprawdzić logi serwera.
Potrzebujesz prostej strony internetowej, a może opieki nad już istniejącą?
Pomagam w tworzeniu czytelnych stron WordPress oraz dbam o ich bezpieczeństwo, aktualizacje i sprawne działanie. Bez zbędnych komplikacji, za to z realnym wsparciem i doradztwem dopasowanym do Twoich potrzeb. Skontaktuj się i zobacz, co da się zrobić.





