Tvinga anvÀndare att logga in innan de lÀser inlÀgg pÄ WordPress

Tvinga anvÀndare att logga in innan de lÀser inlÀgg pÄ WordPress

Om din blogg har ett begrÀnsat omrÄde som du inte vill publicera för alla besökare, bara för medlemmar, kanske du vill tvinga anvÀndare 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Ä fungerar den: NÀr den anropas frÄn en sida kontrollerar den om anvÀndaren som tittar pÄ sidan Àr inloggad. Om anvÀndaren inte Àr inloggad Àr de det. AnvÀndaren omdirigeras pÄ ett sÄdant sÀtt att de, nÀr de loggar in.

Genom att anvÀnda den hÀr funktionen kan vi implementera vÄr kod som kontrollerar om inlÀgget Àr begrÀnsat eller inte, och omdirigera anvÀndare till inloggningssidan om det behövs.

Klistra bara in följande kod i temafilen:


    function my_force_login() {
    global $post;

    if (!is_single()) return;

    $ids = array(188, 185, 171); // array of post IDs that force login to read

    if (in_array((int)$post->ID, $ids) && !is_user_logged_in()) {
    auth_redirect();
    }
    } 

Ändra utbudet av post-ID sĂ„ att det passar dina krav. DĂ€refter öppnar du header.php-filen och placerar följande kod högst upp:


<?php my_force_login(); ?>

Koden Àr enkel, men du kan expandera den med fler alternativ som: krÀva inloggning i vissa specifika kategorier, skapa en alternativsida för enkla inmatnings-ID, etc.

Funktionen Àr tillgÀnglig sedan WordPress 1.5.

Tuan AnhTuan Anh (aka. Rilwis) Àr en 25 Är gammal bloggare och webbutvecklare frÄn Vietnam. Han Àr intresserad av PHP, MySQL samt Web 2.0-teknik (CSS, Javascript, Ajax). Han Àlskar WordPress och allt relaterat till det. Följ Rilwis vidare Twitter för att hÄlla sig uppdaterad med honom. Rilwis webbplats: Deluxe bloggtips