Tvinge brukere til å logge inn før du leser innlegg i WordPress

Tvinge brukere til å logge inn før du leser innlegg i WordPress / Guider

Hvis bloggen din har et begrenset område som du ikke vil publisere til alle besøkende, bare for medlemmer, så vil du kanskje tvinge brukerne til å logge inn før de leser disse innleggene. Heldigvis har WordPress en innebygd funksjon som kan hjelpe oss med å gjøre det.

Funksjonen er auth_redirect (), slik fungerer den: Når den blir kalt fra en side, kontrollerer den om brukeren som ser på siden er logget inn. Hvis brukeren ikke er logget inn, er de omdirigert til innloggingssiden. Brukeren blir omdirigert på en slik måte at ved innlogging vil de være sendt direkte til siden de opprinnelig prøvde å få tilgang til.

Ved å bruke denne funksjonen kan vi implementere vår kode som kontrollerer om innlegget er begrenset eller ikke, og omdirigere brukere til innloggingssiden hvis det er nødvendig.

Bare lim inn følgende kode i temaet ditt functions.php fil:

 fungere my_force_login () global $ post; hvis (! is_single ()) returnerer; $ ids = array (188, 185, 171); // rekke post-IDer som tvinges innlogging for å lese om (in_array ((int) $ post-> ID, $ ids) &&! is_user_logged_in ()) auth_redirect ();  

Endre rekke post-IDer for å passe dine krav. Deretter åpner du header.php filen og sett følgende kode øverst:

  

Koden er enkel, men du kan utvide den med flere alternativer som: krever innlogging i enkelte bestemte kategorier, lage en valgside for enkle innspillings-post-IDer, osv.

Funksjonen auth_redirect () er tilgjengelig siden WordPress 1.5.

Tuan Anh (aka. Rilwis) er en 25 år gammel blogger og webutvikler fra Vietnam. Han er interessert i PHP, MySQL samt Web 2.0 teknologier (CSS, Javascript, Ajax). Han elsker WordPress og alt relatert til det. Følg Rilwis på Twitter å holde seg oppdatert med ham. Rilwis nettsted: Deluxe Blog Tips