Chcesz zablokować dostęp do podstrony w Wordpressie na hasło? Masz grupę klientów czy użytkowników, która powinna mieć dostęp do ukrytej strony? Zobacz, jak ustawić wybrane podstrony na hasło i wymusić podawanie hasła przy każdej próbie wejścia na tę stronę.

Wordpress - jak ustawić stronę na hasło

Czasami jest tak, że na naszym blogu lub stronie chcemy dodać sekcję dostępną tylko na hasło. Może ona zawierać dodatkowe rzeczy tylko dla subskrybentów czy użytkowników z dodatkowymi uprawnieniami. Wordpress na szczęście posiada taką funkcję i możemy utworzyć podstronę, do której dostęp jest możliwy tylko i wyłącznie po podaniu hasła.

Co więcej, pokażemy wam jeszcze, jak wymusić na użytkowniku każdorazowe wpisywanie hasła, gdy chce wejść na zablokowaną podstronę. Domyślnie działanie sprawia, że sesja i hasło zostaną zapamiętane, więc jeśli użytkownik się sam nie wyloguje, to nawet po ponownym uruchomieniu przeglądarki zostanie zapamiętany i nie będzie musiał wpisywać hasła. My skonfigurujemy Wordpressa jednak tak, aby nawet po odświeżeniu strony użytkownik musiał ponownie wpisywać hasło.

1. Ustaw hasło dostępowe dla wybranej podstrony

Najpierw zajmijmy się pierwszą rzeczą, czyli zablokowaniem wybranej podstrony na hasło. Możemy to zrobić bez konieczności instalowania jakichkolwiek wtyczek – Wordpress posiada taką funkcję wbudowaną oryginalnie.

Wchodzimy do panelu administratora Wordpress, a następnie udajemy się do edycji podstrony, którą chcemy zabezpieczyć hasłem (możemy też stworzyć całkowicie nową podstronę). Po prawej stronie znajdziemy szczegóły odnośnie naszej publikacji. Domyślnie ustawienia dostępności sprawiają, że strona jest oczywiście widoczna publicznie dla każdego odwiedzającego.

Wordpress - opcje widoczności publikacji

Wystarczy jednak, że obok pola „Dostępność: publiczne” klikniemy w przycisk „Edytuj”. Pojawią się nowe opcje dostosowania widoczności strony. Zaznaczamy tu pole „Zabezpieczone hasłem”, a następnie w polu „Hasło” wpisujemy hasło dostępowe dla danej podstrony i klikamy OK, a następnie „Zaktualizuj”.

Wordpress - dostęp do strony na hasło

Wybrana podstrona jest teraz zabezpieczona hasłem i jej odwiedzenie wymaga podania kodu dostępowego. Odwiedzającemu wyświetli się odpowiedni komunikat z prośbą o wprowadzenie hasła. Widok komunikatu jest zależny od szablonu, którego używamy.

2. Wymuś konieczność każdorazowego wpisywania hasła

Jak wiemy, przeglądarki zapamiętują nasze sesje gdy sami się nie wylogujemy. Oznacza to, że po pierwszym zalogowaniu nie musimy wpisywać hasła np. przez 24 godziny. Niektórzy administratorzy preferują jednak, by użytkownik musiał za każdym razem odblokowywać stronę za pomocą hasła. Możemy skonfigurować zapamiętywanie sesji w taki sposób, aby wygasała ona po odświeżeniu strony. Dzięki temu użytkownik będzie musiał ponownie wpisać hasło dostępowe, by wejść na zabezpieczoną część naszej strony.

Aby to zrobić, musimy zmodyfikować plik functions.php w katalogu z naszym szablonem Wordpressa. W tym celu logujemy się na swój serwer FTP i wchodzimy do katalogu z Wordpressem. Następnie udajemy się do następującego podkatalogu:

wp-content/themes/nazwa_naszego_szablonu/

Znajdziemy w środku plik o nazwie „functions.php”. Kopiujemy go na swój komputer, a następnie otwieramy za pomocą edytora tekstu typu Notatnik czy Notepad++.  Na samym końcu dopisujemy poniższy fragment:

 /**

 * Modyfikacja czasu przechowywania sesji strony zabezpieczonej haslem

 */

add_action( 'wp', 'post_pw_sess_expire' );

    function post_pw_sess_expire() {

    if ( isset( $_COOKIE['wp-postpass_' . COOKIEHASH] ) )

    // Ustawienie wartosci 0 dla setcookie () sprawia, ze ciasteczka sa ograniczone do danej sesji

    setcookie('wp-postpass_' . COOKIEHASH, '', 0, COOKIEPATH);

}

Wordpress - edycja pliku functions.php i zmiana czasu sesji

Zapisujemy plik, a następnie wysyłamy go ponownie na serwer FTP. Powyższe zmiany sprawiają, że ciasteczka dla danej sesji mają ustawiony czas 0 - oznacza to, że zostaną utracone przy odświeżeniu strony i konieczne będzie ponowne zalogowanie się. Od teraz użytkownicy będą musieli wpisywać hasło za każdym razem, gdy tylko odświeżą zabezpieczoną stronę.