Jesteście aktywnymi blogerami i posługujecie się WordPress’em? Codziennie dodajecie nowe wpisy? Jeśli tak, to na pewno spotkaliście się z komunikatem „Session Expired”. Oznacza to, że wasza sesja logowania do systemu wygasła i musicie ponownie wpisać login i hasło, aby wejść do panelu administracyjnego.
Automatyczne wylogowanie z panelu administracyjnego zabezpiecza przed niepożądanym wejściem obcej osoby na naszą stronę. Jest to przydatne, gdy posługujemy się wspólnym komputerem i przeglądarką. W przypadku gdy zapomnimy wylogować się ręcznie, system zrobi to za nas w ciągu 30 minut, ponieważ właśnie tyle trwa domyślna sesja. Po tym czasie bez ruchu na stronie pojawi się odpowiedni komunikat „Session expired” (rys. 1).

Session Expired

Rysunek 1. Wygaśnięcie sesji logowania do systemu WordPress
W przypadku, gdy logujemy się na stronę tylko i wyłącznie z własnego komputera, automatyczne wylogowanie jest mniej użyteczne. Funkcja ta może nam wyjątkowo uprzykrzyć życie, zawłaszcza gdy sesja wygasa w czasie dodawania oraz edycji wpisu. Możemy temu zaradzić przedłużając czas trwania sesji. Pokażę w jaki sposób można to zrobić.
Dla wydłużenia czasu trwania sesji podczas pracy z systemem WordPress należy zmodyfikować plik functions.php, który znajduje się w folderze z używanym motywem domyślnym. Znaleźć go można na serwerze pod ścieżką: wp-content/themes/wasz_motyw, gzdzie wasz_motyw to templatka, która jest używana domyślnie. Oprócz tego można skorzystać się z Edytora wbudowanego w WordPress i otworzyć go bezpośrednio w panelu administracyjnym. Ponieważ ostatni sposób nie potrzebuje bezpośredniego dostępu do serwera, skorzystam z niego.
Przejdziemy do sekcji Wygląd-Edytor w panelu administracyjnym WordPress. W nowym oknie wśród innych plików motywu wybieramy functions.php. Do niego należy dodać następujący filtr:
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 }
Ponieważ czas sesji jest liczony w sekundach, dlatego wartość 31556926 to przeliczony na sekundy rok.
Dodajemy powyższy kod w dowolne miejsce pliku i zapisujemy zmiany (rys.2):

Rysunek 2. Edytowanie pliku functions.php
Nasz problem z automatycznym wylogowaniem został rozwiązany. Nie musimy teraz ciągle logować się, wystarczy zrobić to raz na rok. 🙂 Chociaż i ten czas można zmienić na dowolną inną wartość. Należy tylko pamiętać aby był on przeliczony na sekundy.

Podsumowanie
Przedstawione powyżej rozwiązanie jest przydatne, jednak zmniejsza bezpieczeństwo systemu. Prosimy korzystać się z niego ostrożnie a w przypadku logowania nie na swoim komputerze, wylogowywać się ręcznie. Dzięki temu możemy mieć pewność, że inni użytkownicy nie podszyją sie pod nasze konto. Jeżeli macie alternatywne rozwiązania, proszę zostawić komentarz.
Autor tekstu: Janusz Kamiński
Specjalista działu marketingu firmy TemplateMonster. W branży IT pracuje od 5 lat. Posiada doświadczenie w SEO, marketingu internetowym. Ponadto interesuje się tworzeniem stron www.