Inhalt Marketing

WordPress: Erstellt eng Säitschabloun déi e Benotzer erfuerdert fir registréiert an ugemellt ze sinn

Mir waren ofgeschloss fir e personaliséierten Thema op engem Client Site ëmzesetzen, a si hu gefrot datt mir eng Aart Interaktioun bauen wou e puer vun de Säiten op registréiert Abonnente limitéiert waren. WordPress bitt Visibilitéitsoptioune fir Säiten, awer dat passt net un dësem Szenario.

  • private - Wielt Visibilitéit als privat erlaabt nëmmen Administrateuren an Redaktoren den Inhalt ze gesinn.
  • Passwuert geschützt - erfuerdert en eenzegaartege Code fir all Säit applizéiert fir den Inhalt ze gesinn.

Am Ufank hu mir geduecht fir Drëtt Partei Plugins ëmzesetzen, awer d'Léisung war einfach. Mir kéinten eng eenzegaarteg Schabloun erstellen déi d'Zuschauer erfuerdert sech aschreiwen an aloggen fir d'Säit ze gesinn.

WordPress Schabloun: Nëmmen Abonnenten

Als éischt hu mir eis Client Säit Schabloun kopéiert (page.php) bannent der Kand Thema. Fir eng Schabloun ze kreéieren, musst Dir e puer Code uewen op Ärer Säit addéieren:

<?php /* Template Name: Subscribers Only */ ?>

Als nächst kuckt no der Zeil am Code vun Ärer Säit déi den Inhalt affichéiert. Et sollt esou ausgesinn:

<?php the_content(); ?>

Elo musst Dir e Code ronderëm dës Linn wéckelen:

<?php
$redirect_url = get_permalink(); // Get the current page's URL

if (is_user_logged_in()) :
?>
    <h2><?php the_title(); ?></h2>
    <?php the_content(); ?>
<?php else : ?>
    <h2>Subscriber Only</h2>
    <p>We're sorry, the content you are trying to reach is restricted to certain roles. <a href="<?php echo wp_login_url($redirect_url); ?>">Log in</a> to access it.</p>
<?php endif; ?>

Hei ass eng Erklärung vum Code a Bullet Points:

  • $redirect_url = get_permalink();: Dës Linn recuperéiert d'URL vun der aktueller Säit a späichert se an der Variabel $redirect_url.
  • if (is_user_logged_in()) :: Dës bedingte Ausso kontrolléiert ob e Benotzer scho ageloggt ass.
  • Wann de Benotzer ageloggt ass, gëtt de Code an dësem Block ausgefouert.
    • <h2><?php the_title(); ?></h2>: Dëst weist den Titel vun der aktueller Säit.
    • <?php the_content(); ?>: Dëst weist den Inhalt vun der aktueller Säit.
  • Wann de Benotzer net ageloggt ass, de Code bannent der else blockéiert gëtt.
    • <h2>Subscriber Only</h2>: Dëst weist eng Rubrik déi ugeet datt den Inhalt limitéiert ass.
    • <p>We're sorry, the content you are trying to reach is restricted to certain roles. <a href="<?php echo wp_login_url($redirect_url); ?>">Log in</a> to access it.</p>: Dëst weist e Message deen erkläert datt den Inhalt op bestëmmte Rollen limitéiert ass a bitt e "Login" Link. De Link ass href Attribut ass op d'Umeldungs-URL gesat, generéiert vun wp_login_url($redirect_url), garantéiert datt d'Benotzer zréck op déi aktuell Säit ëmgeleet ginn nodeems se ageloggt sinn.

Dëse Code kontrolléiert effektiv ob e Benotzer ageloggt ass an, wann net, encouragéiert se sech unzemellen fir Zougang zum limitéierten Inhalt ze kréien, mat engem Link deen se zréck op d'Säit dirigéiert déi se probéiert hunn ze gesinn.

View No spezifesch Benotzer Roll

Dir kënnt och den Inhalt op spezifesch Benotzerrollen limitéieren wann Dir wëllt:

<?php
$allowed_roles = array('subscriber', 'editor', 'author'); // Add the roles you want to allow

$user = wp_get_current_user();
$redirect_url = get_permalink();

if (array_intersect($allowed_roles, $user->roles)) :
?>
    <h2><?php the_title(); ?></h2>
    <?php the_content(); ?>
<?php else : ?>
    <h2>Restricted Access</h2>
    <p>We're sorry, the content you are trying to reach is restricted to certain roles. 
    <a href="<?php echo wp_login_url($redirect_url); ?>">Log in</a> to access it.</p>
<?php endif; ?>

Hei ass eng Erklärung vum Code a Bullet Points:

  • $allowed_roles = array('subscriber', 'editor', 'author');: Dës Linn erstellt eng Rei vun erlaabte Rollen, spezifizéiert wéi eng Benotzerrollen Zougang zum Inhalt erlaabt sinn. Dir kënnt dës Array personaliséieren fir d'Rollen ze enthalen déi Dir wëllt erlaben.
  • $user = wp_get_current_user();: Dëse Code recuperéiert Informatiounen iwwer den aktuelle Benotzer, dorënner hir Rollen.
  • $redirect_url = get_permalink();: Dës Linn späichert d'URL vun der aktueller Säit an der $redirect_url Variabel, déi benotzt gëtt fir de Benotzer zréck op déi aktuell Säit ze leeden nodeems se aloggen.
  • if (array_intersect($allowed_roles, $user->roles)) :: Dës bedingte Ausso kontrolléiert ob d'Rollen vum Benotzer sech mat de Rollen, déi an der $allowed_roles Array. An anere Wierder, et kontrolléiert ob de Benotzer eng vun den erlaabten Rollen huet.
  • Wann de Benotzer eng vun den erlaabten Rollen huet, gëtt de Code an dësem Block ausgefouert.
    • <h2><?php the_title(); ?></h2>: Dëst weist den Titel vun der aktueller Säit.
    • <?php the_content(); ?>: Dëst weist den Inhalt vun der aktueller Säit.
  • Wann de Benotzer net ee vun de erlaabt Rollen huet, de Code bannent der else blockéiert gëtt.
    • <h2>Restricted Access</h2>: Dëst weist eng Rubrik déi ugeet datt den Inhalt limitéiert ass.
    • <p>We're sorry, the content you are trying to reach is restricted to certain roles. <a href="<?php echo wp_login_url($redirect_url); ?>">Log in</a> to access it.</p>: Dëst weist e Message deen erkläert datt den Inhalt op bestëmmte Rollen limitéiert ass a bitt e "Login" Link. De Link ass href Attribut ass op d'Umeldungs-URL gesat, generéiert vun wp_login_url($redirect_url), garantéiert datt d'Benotzer zréck op déi aktuell Säit ëmgeleet ginn nodeems se ageloggt sinn.

Dëse Code beschränkt effektiv den Zougang zu spezifesche Rollen, a wann e Benotzer net eng vun den erlaabten Rollen huet, freet se se sech mat engem Link unzemellen, deen se zréck op déi aktuell Säit no aloggen.

Wielt Är Schabloun

Fir d'Säit ze benotzen, musst Dir d' Nëmmen Abonnenten Säit Schabloun an der fortgeschratt Sektioun vun Ärer Säit Optiounen (op der Sidebar). Dëst beschränkt d'Säit op ageloggte Lieser oder Är definéiert Roll(en).

Douglas Karr

Douglas Karr ass CMO vun OpenINSIGHTS an de Grënner vun der Martech Zone. Den Douglas huet Dosende vun erfollegräiche MarTech Startups gehollef, huet an der Due Diligence vun iwwer $ 5 Bill bei Martech Acquisitioune an Investitiounen gehollef, a weider fir Firmen ze hëllefen fir hir Verkafs- a Marketingstrategien ëmzesetzen an ze automatiséieren. Den Douglas ass en international unerkannten digitale Transformatioun a MarTech Expert a Spriecher. Den Douglas ass och e publizéierten Auteur vun engem Dummie's Guide an e Business Leadership Buch.

Verbonnen Artikelen

Zréck erop zum Knäppchen
Zoumaachen

Adblock entdeckt

Martech Zone ass fäeg Iech dësen Inhalt ouni Käschten ze liwweren, well mir eise Site monetiséieren duerch Ad-Recetten, Partnerlinks a Sponsoren. Mir géifen appreciéieren wann Dir Är Annonce Blocker ewechzehuelen géif wéi Dir eise Site Vue.