WordPress: Nutzer zum Login erzwingen, um Beiträge zu lesen

Wenn man in seinem Blog einen Bereich oder bestimmte Posts hat, die man nicht einfach kostenlos und frei zugänglich machen möchte, sondern nur für Nutzer freigeben möchte, die Mitglieder im Blog sind, dann möchte man die Nutzer zum Login erzwingen, um einen bestimmten Beitrag zu lesen. WordPress beinhaltet dabei bereits so eine Funktion, die uns dabei hilft zum gewünschten Ergebnis zu kommen.

Die Funktion heißt auth_redirect() und hier ist die Beschreibung wie es funktioniert:

Wenn ein Nutzer eine Seite oder einen Beitrag aufruft, dann prüft die Funktion, ob der Nutzer eingeloggt ist. Wenn der Nutzer nicht eingeloggt ist, dann wird er zur Login-Seite weitergeleitet. Der Nutzer wird dabei so weitergeleitet, dass er wieder zurück auf den Beitrag weitergeleitet wird, nachdem er sich eingeloggt hat.

Mit Hilfe der Funktion können wir auch prüfen ob der jeweilige Beitrag geschützt ist oder nicht und die Nutzer nur dann zur Login Seite weiterleiten, wenn das nötig ist.

Folgenden Code muss man in seine functions.php Datei posten:

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();
}
}

Im oberen Code kann man unter „Array“ die Post IDs auflisten, die geschützt werden sollen. Danach muss man noch die header.php Datei öffnen und folgenden Code einbauen:

<?php my_force_login(); ?>

Der Code ist bereits sehr einfach aufgebaut aber man kann ihn mit weiteren Optionen erweitern wie zum Beispiel: Login in bestimmten Kategorien erzwingen usw.

Die Funktion auth_redirect() ist aber der WordPress Version 1.5 vorhanden.

Noch keine Stimmen.
Bitte warten...

HINTERLASSEN SIE EINE ANTWORT

Please enter your comment!
Please enter your name here

* Die Checkbox für die Zustimmung zur Speicherung ist nach DSGVO zwingend.

Ich stimme zu.