Tvinga användare att logga in innan de läser inlägg i WordPress

Tvinga användare att logga in innan de läser inlägg i WordPress / Handledningar

Om din blogg har ett begränsat område som du inte vill publicera för alla besökare, bara för medlemmar, så kanske du vill tvinga användarna att logga in innan de läser dessa inlägg. Lyckligtvis har WordPress en inbyggd funktion som kan hjälpa oss att göra det.

Funktionen är auth_redirect (), så här fungerar det: När det hämtas från en sida kontrolleras det om användaren som tittar på sidan är inloggad. Om användaren inte är inloggad är de omdirigeras till inloggningssidan. Användaren omdirigeras på ett sådant sätt att de, när de loggar in, kommer att vara skickas direkt till den sida som de ursprungligen försökte komma åt.

Genom att använda denna funktion kan vi implementera vår kod som kontrollerar om posten är begränsad eller inte och omdirigera användarna till inloggningssidan om det behövs.

Klistra in följande kod i ditt tema functions.php fil:

 funktion my_force_login () global $ post; om (! is_single ()) returnerar; $ ids = array (188, 185, 171); // array av post-ID som tvingar inloggningen att läsa om (in_array ((int) $ post-> ID, $ ids) &&! is_user_logged_in ()) auth_redirect ();  

Ändra utbudet av post-ID som passar ditt krav. Därefter öppnar du header.php fil och lägg följande kod högst upp:

  

Koden är enkel, men du kan expandera den med fler alternativ som: kräva inloggning i vissa specifika kategorier, skapa en options sida för enkla post post ID, etc.

Funktionen auth_redirect () är tillgänglig sedan WordPress 1.5.

Tuan Anh (aka. Rilwis) är en 25-årig bloggare och webbutvecklare från Vietnam. Han är intresserad av PHP, MySQL samt Web 2.0-teknik (CSS, Javascript, Ajax). Han älskar WordPress och alla relaterade till den. Följ Rilwis på Twitter att hålla sig uppdaterad med honom. Rilwis hemsida: Deluxe Blogg Tips