Jeśli twój blog ma jakiś ograniczony obszar, którego nie chcesz publikować wszystkim odwiedzającym, tylko dla członków, możesz chcieć zmuś użytkowników do zalogowania się przed przeczytaniem tych postów. Na szczęście WordPress ma wbudowaną funkcję, która może nam w tym pomóc.
Funkcja jest auth_redirect (), działa w ten sposób: gdy jest wywoływana ze strony, sprawdza, czy użytkownik przeglądający stronę jest zalogowany. Jeśli użytkownik nie jest zalogowany, są przekierowanie na stronę logowania. Użytkownik zostaje przekierowany w taki sposób, że po zalogowaniu się zostanie wysłane bezpośrednio na stronę, do której pierwotnie próbowali uzyskać dostęp.
Korzystając z tej funkcji, możemy zaimplementować nasz kod, który sprawdza, czy post jest ograniczony, czy nie, i przekierowuje użytkowników do strony logowania w razie potrzeby.
Wystarczy wkleić poniższy kod do szablonu funkcje.php plik:
function my_force_login () { global $post; jeśli (!is_single ()) return; $ids = array(188, 185, 171); // tablica identyfikatorów postów, które wymuszają logowanie do odczytu if (in_array ((int)$post- > ID, $ids)&&!is_user_logged_in()) { auth_redirect(); } }
Zmień tablicę identyfikatorów postów, aby pasowała do Twoich wymagań. Następnie otwórz nagłówek.php
plik i umieścić następujący kod na samej górze:
<?php my_force_login(); ?>
Kod jest prosty, ale można rozwiń dzięki większej liczbie opcji, takich jak: Wymagaj logowania w określonych kategoriach, Utwórz stronę opcji dla łatwego wprowadzania identyfikatorów postów itp.
Funkcja auth_redirect() jest dostępny od WordPress 1.5.
