Czy zaktualizowany WP do 3.1.1 ma ten sam problem?
Niestety tak. Liczyłem na to, że w nowej wersji zostało to poprawione, ale w dalszym ciągu linka brak.
To jeszcze jeden pomysł, ściągnij pliki, i ręcznie wgraj, szczególnie wp-admina, wp-includes, i wp-login.php … gdyż u mnie to działa, właśnie sprawdziłem, poprawnie wysyła linka z hashem do odzyskania hasła.
Zrobiłem tak. Dla pewności podmieniłem wszystkie pliki i foldery. Niestety nic to nie dało.
To spróbuj wyłączyć wszystkie wtyczki. Jak to nie pomoże, to jeszcze zmień szablon na domyślny.
Niestety ani wyłączenie wtyczek, ani zmiana skórki także nic nie dało. Wydaje mi się, że problem jest bardziej złożony, bo tak jak wspomniałem na innych blogach jakie odwiedzam, które są oparte o WP jest dokładnie tak samo.
A możesz podać przykład takiego blogów? Rozumiem że nie są one administrowane przez Ciebie, tylko czytane?
Pierwszy z brzegu…
http://www.ebro.net.pl
Jestem tylko jego czytelnikiem.
Ktoś poprosił o wygenerowanie nowego hasła dla następującego konta:
http://ebro.net.pl
Nazwa użytkownika: qqwwq
Jeśli jest to błąd, po prostu zignoruj tego e-maila, a nic się nie
stanie.
Aby wygenerować nowe hasło, przejdź pod poniższy adres:
<http://ebro.net.pl/wp-login.php?action=rp&key=4GpmOrTBkTCZA7&login=qqwwq>;
Nie wiń WP, tylko swoją pocztę, która Ci w jakiś sposób blokuje takie linki.
Odświeżam stary temat. Po instalacja WP 3.2.1 i próbie odzyskania hasła zauważyłem błąd, a mianowicie link:
<http://domena.pl/wp-login.php?action=rp&key=D6mSVWGR8LHHWujFBhvI&login=jakislogin>;
jest źle skonstruowany co skutkuje (po jego kliknięciu) brakiem dostępu do strony z odzyskiwaniem hasła. W linku (tzn. pomiędzy <a>
i </a>
nie powinno być znaku „>”. Prawidłowo linkiem powinna być fraza:
http://domena.pl/wp-login.php?action=rp&key=D6mSVWGR8LHHWujFBhvI&login=jakislogin
Skopiowanie tego linka zamieszczonego przeze mnie daje pozytywny rezultat, czyli dostęp do strony z odzyskiwaniem hasła. Nie wiem po co znak „<” przed „http” i znaki „>;” na końcu linka. To chyba część kodu, którego być nie powinno, a który przez błąd i dodanie do linka znaku „>” powoduje wyświetlenie błędu:
Przepraszamy, ten klucz nie wydaje się być prawidłowy.
Kod odpowiedzialny za tą konstrukcję to 219 linijka pliku „wp-login.php”, a konkretnie $message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n";
Czy ktoś bardziej biegły w PHP niż ja może poprawić tego bug’a?
Problem rozwiązany. Tylko nie wiem czy prawidłowo :). Z kodu:
$message .= '<' . network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login') . ">\r\n";
usunąłem „konfliktowe” znaki, które przynajmniej w procesie odzyskiwania hasła wydają się zbędne i pozostawiłem tylko:
$message .= network_site_url("wp-login.php?action=rp&key=$key&login=" . rawurlencode($user_login), 'login');
Po zmianie mail do odzyskiwania hasła zawiera prawidłowy link, który prowadzi do strony z informację
„Wprowadź swoje nowe hasło poniżej.”
Nadmienię, że próbowałem innego rozwiązania (http://wordpress.org/support/topic/lost-password-link-in-email-not-valid-key-fix-does-not-work?replies=28), które jako przyczynę tego zjawiska podawało generowanie hasła z nieprawidłowymi znakami. Zastosowałem wskazówki tam wymienione, ale nie działało.