WordPress & Webwork

WordPress: Inhalte nur für eingeloggte Nutzer

Wie man in WordPress mittels selbst-definierter Shortcodes Inhalte nur für eingeloggte oder nur für nicht-eingeloggte Nutzer anzeigt

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

2 Reaktion(en)

  1. Jack Beauregard

    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.

  2. Pingback: Inhalte auf WordPress Seiten nur eingeloggten Nutzern anzeigen › Tips und Tricks für WordPress

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.