WordPress: Inhalte nur für eingeloggte Nutzer

WordPress anpassen

Du bietest in deinem Weblog die Möglichkeit an, dass sich die Besucher registrieren und du möchtest für diese Nutzer, innerhalb regulärer Beiträge und Seiten, Inhalte anzeigen lassen, die nur diese auch sehen können. Eine einfach zu handhabende Möglichkeit sind selbst-definierte Shortcodes.

Folgenden Code in die functions.php des jeweiligen Themes einfügen:

add_shortcode( 'member', 'member_check_shortcode' );

function member_check_shortcode( $atts, $content = null ) {
	 if ( is_user_logged_in() && !is_null( $content ) && !is_feed() )
		return $content;
	return '';
}

Den Code habe ich hier gefunden. Nach dem man diesen Code aktiviert hat, kann man einfach Inhalte für eingeloggte Nutzer anzeigen lassen:

"Normaler" Inhalt...

[member]Nur von eingeloggten Nutzern zu sehen[/member]

... weiter mit dem "normalen" Inhalt

Der Shortcode ist wie üblich sowohl im visuellen als auch im Text-Editor verfügbar. Möchte man, innerhalb der bereits bestehenden Beiträge und Seiten auch Inhalte für nicht-eingeloggte Nutzer anzeigen lassen, zum Beispiel eine Registrierungsformular, die für die eingeloggten Besucher nicht von Relevanz sind, dann reicht: eine kleine Anpassung des Codes:

add_shortcode( 'nomember', 'no_member_check_shortcode' );

function no_member_check_shortcode( $atts, $content = null ) {
	 if ( !is_user_logged_in() && !is_null( $content ) && !is_feed() )
		return $content;
	return '';
}

Wenn dieser Code-Fragment aktiv ist, dann wird alles was sich zwischen [nomember] und [/nomember] befindet nur den nicht-eingeloggten Nutzern angezeigt. Wenn man diesen Code nicht manuell in die functions.php eintragen möchte, dann kann man dies auch mit Hilfe des Plugins Code Snippet umsetzen, welches ich bereits hier beschrieben habe

Wir arbeiten seit 20 Jahren mit WordPress und bieten diverse Dienst­leistungen rund um das System an. Kontaktiere uns für weitere Informationen oder für ein Angebot.

Verwandte Beiträge:

2 Kommentare

  1. Ein wirklich praktisches Snippet, das einem auf die Schnelle einiges an Kopfzerbrechen erspart.
    Ich benutze für solch einen Fall zwar das Shortcodes Ultimate Plugin, das auch so eine ähnliche Funktion liefert – aber dort wo das Plugin nicht aktiv ist, kann man ja auch diesen Schnipsel benutzen.

Kommentare sind geschlossen.