Jak najłatwiej powstrzymać WP przed wylogowaniem mnie


28

Po pewnym czasie WP wylogowuje wszystkich użytkowników i zmusza ich do ponownego zalogowania. W przypadku środowisk programistycznych na moim komputerze lokalnym jest to nieprzyjemne i absolutnie niepotrzebne.

Czy istnieje oparty na API sposób wyłączania automatycznego wylogowywania na czas nieokreślony? Idealnie chciałbym coś, co mogę dodać wp-config.phpwraz z innymi ustawieniami związanymi z konfiguracją programistów.

Wtyczka byłaby dla mnie nadmierna, więc nie będę uważał jej za odpowiedź, ale równie dobrze możesz ją opublikować jako opcję.

Odpowiedzi:


27

Domyślnie pole wyboru „Remember Me” pozwala zapamiętać Cię na 14 dni. Jest to jednak możliwe do filtrowania.

Ten kod zmieni tę wartość:

add_filter( 'auth_cookie_expiration', 'keep_me_logged_in_for_1_year' );

function keep_me_logged_in_for_1_year( $expirein ) {
    return 31556926; // 1 year in seconds
}

1
Właśnie tego potrzebowałem. Myślę, że stała dla tej wartości byłaby naprawdę przydatna, ale kolejnym najlepszym rozwiązaniem jest filtr. Przydałby mi się nawet create_function()jeden wiersz.
jerclarke

2
create_function()jest wolny i utrudnia usunięcie filtra. Najlepszą praktyką jest używanie funkcji. :)
Viper007Bond

Możesz nawet pobrać najnowszą wersję PHP i napisać ją jako zamknięcie: php.net/manual/en/functions.anonymous.php - WordPress to powstrzymuje. Po prostu nie przeszkadzaj sobie i nie używaj już create_function (). To jest do bani.
hakre

1
YEAR_IN_SECONDSmożna zamiast tego użyć 31556926. Są też inne stałe. (Zobacz wp-includes/default-constants)
Upeksha,

1
@Upeksha: W chwili pisania tej odpowiedzi te stałe nie istniały. ;) Masz jednak rację, że teraz, kiedy to robią, lepiej byłoby z nich korzystać.
Viper007Bond

4

Ma to więcej wspólnego z tym, jak przeglądarka przechowuje pliki cookie. Kiedy się zalogujesz, powinien zapisać plik cookie, a WordPress odczyta go, aby sprawdzić, czy jesteś uwierzytelniony (przynajmniej tak rozumiem).

We wszystkich lokalnych instalacjach deweloperskich moja nazwa użytkownika to admin, a moje hasło to admin. Nie uważam 8 liter za naprawdę wielką rzecz, ale może piszę szybciej?


Korzystam z kopii zapasowych baz danych na żywo, w których zawsze mam silne hasła do wszystkich kont administratora. Często też mam różne nazwy użytkowników dla różnych stron, aw wielu przypadkach Firefox ma problem z rozróżnieniem różnych lokalnych instalacji dla celów autouzupełniania.
jerclarke

Dokładnie, ustawienia twojej przeglądarki nadpisują funkcję zapamiętaj mnie.
Brad Dalton,

-2

Czy to działa, jeśli umieścisz go w wp-config.php?

function wp_validate_auth_cookie($cookie='',$scheme='') {
    return 1; // admin user id
}

Nie dokładnie przetestowane. Nie tyle „nigdy mnie nie wylogowuje”, ale raczej „traktuj każdego jak administratora”.


5
NIGDY NIE UŻYWAJ W PRODUKCJI !!! Brzmi jak instalacja piaskownicy.
Arlen Beiler,

2
NIE ZRÓB TO, bo szybko zostaniesz zhakowany!
T.Todua
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.