Tartalom csak bejelentkezett felhasználók számára

[Ezt a cikket 1 perc elolvasni.]

Gyakori igény, hogy csak bejelentkezett felhasználók számára tegyünk láthatóvá egy bejegyzést vagy annak bizonyos részét. Ennek a problémának a megoldására rengeteg okos bővítmény létezik, ám felesleges ezekkel lassítani az oldalunkat, ha nincs szükség a tartalom elrejtésénél komplexebb megoldásra. Létezik egy okos kis kódrészlet, ami pont a fentiekben lesz a segítségünkre és egyszerű shortcode-ok segítségével tudjuk kontrollálni az elrejtendő tartalmat. Akik nincsenek bejelentkezve azok számára a bejelentkező űrlap fog megjelenni, míg a belépett felhasználók láthatják a teljes bejegyzést.

Használata:

[mem] Ide jön az elrejteni kívánt tartalom [/mem]

A kódrészlet:

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

$yonlendir = get_permalink();
$form = wp_login_form(array('echo' => false, 'redirect' => $yonlendir ));
return $form;
}
}
add_shortcode( 'mem', 'member' );

Természetesen a fenti kódrészlet a sablonunk functions.php fájljának végére kerüljön. Ezen kis trükk használatával még egyszerűbb tagsági (membership) oldalakat is létrehozhatunk, ha a publikus regisztrációt kikapcsoljuk vagy fizetéshez kötjük és manuális engedélyezzük a felhasználói fiókokat.

Ha tetszik, mutasd meg másoknak is: