ynhâld Marketing

WordPress: Meitsje in sidesjabloan dat fereasket dat in brûker registrearre en oanmeld is

Wy wiene klear mei it ymplementearjen fan in oanpast tema op in kliïntside, en se fregen om in soarte fan ynteraksje te bouwen wêr't guon fan 'e siden beheind wiene ta registrearre abonnees. WordPress biedt wol sichtberens foar siden, mar dat past net yn dit senario.

  • private - It selektearjen fan sichtberens as privee stelt behearders en redakteuren allinich yn steat om de ynhâld te besjen.
  • Wachtwurd beskerme - fereasket dat in unike koade wurdt tapast foar elke side om de ynhâld te besjen.

Earst tochten wy oer it ymplementearjen fan plugins fan tredden, mar de oplossing wie ienfâldich. Wy kinne in unyk sjabloan oanmeitsje dy't fereasket dat sjoggers registrearje en oanmelde om de side te besjen.

WordPress-sjabloan: Allinnich abonnees

Earst hawwe wy it sidesjabloan fan ús kliïnt kopiearre (page.php) binnen de kindemema. Om in sjabloan te meitsjen, moatte jo wat koade tafoegje oan 'e boppekant fan jo side:

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

Sykje dan nei de rigel yn 'e koade fan jo pagina dy't de ynhâld werjaan. It moat sa útsjen:

<?php the_content(); ?>

No moatte jo wat koade om dy line wikkelje:

<?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; ?>

Hjir is in útlis fan de koade yn kûgelpunten:

  • $redirect_url = get_permalink();: Dizze rigel hellet de URL op fan 'e aktuele side en bewarret it yn 'e fariabele $redirect_url.
  • if (is_user_logged_in()) :: Dizze betingste ferklearring kontrolearret as in brûker al oanmeld is.
  • As de brûker is oanmeld, wurdt de koade binnen dit blok útfierd.
    • <h2><?php the_title(); ?></h2>: Dit toant de titel fan de aktuele side.
    • <?php the_content(); ?>: Dit toant de ynhâld fan de aktuele side.
  • As de brûker is net oanmeld, de koade binnen de else blok wurdt útfierd.
    • <h2>Subscriber Only</h2>: Dit toant in koptekst dy't oanjout dat de ynhâld beheind is.
    • <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>: Dit toant in berjocht dat ferklearret dat de ynhâld beheind is ta bepaalde rollen en jout in keppeling "Log yn". De keppeling href attribút is ynsteld op de oanmeld-URL oanmakke troch wp_login_url($redirect_url), soargje derfoar dat brûkers werom nei de aktuele side wurde omlaat nei it oanmelden.

Dizze koade kontrolearret effektyf as in brûker is oanmeld en, as net, moediget se oan om oan te melden om tagong te krijen ta de beheinde ynhâld, mei in keppeling dy't se werom rjochtet nei de side dy't se besochten te besjen.

Besjoch troch spesifike brûkersrol

Jo kinne de ynhâld ek beheine ta spesifike brûkersrollen as jo wolle:

<?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; ?>

Hjir is in útlis fan de koade yn kûgelpunten:

  • $allowed_roles = array('subscriber', 'editor', 'author');: Dizze rigel makket in array fan tastiene rollen, en spesifisearret hokker brûkersrollen tagong krije ta de ynhâld. Jo kinne dizze array oanpasse om de rollen op te nimmen dy't jo tastean wolle.
  • $user = wp_get_current_user();: Dizze koade hellet ynformaasje op oer de aktuele brûker, ynklusyf har rollen.
  • $redirect_url = get_permalink();: Dizze rigel bewarret de URL fan 'e aktuele side yn' e $redirect_url fariabele, dy't brûkt wurde om de brûker werom te ferwizen nei de aktuele side nei't se ynlogd binne.
  • if (array_intersect($allowed_roles, $user->roles)) :: Dizze betingste ferklearring kontrolearret as de brûker syn rollen krúst mei de rollen neamd yn de $allowed_roles array. Mei oare wurden, it kontrolearret as de brûker ien fan 'e tastiene rollen hat.
  • As de brûker ien fan 'e tastiene rollen hat, wurdt de koade binnen dit blok útfierd.
    • <h2><?php the_title(); ?></h2>: Dit toant de titel fan de aktuele side.
    • <?php the_content(); ?>: Dit toant de ynhâld fan de aktuele side.
  • As de brûker hat net ien fan de tastiene rollen, de koade binnen de else blok wurdt útfierd.
    • <h2>Restricted Access</h2>: Dit toant in koptekst dy't oanjout dat de ynhâld beheind is.
    • <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>: Dit toant in berjocht dat ferklearret dat de ynhâld beheind is ta bepaalde rollen en jout in keppeling "Log yn". De keppeling href attribút is ynsteld op de oanmeld-URL oanmakke troch wp_login_url($redirect_url), soargje derfoar dat brûkers werom nei de aktuele side wurde omlaat nei it oanmelden.

Dizze koade beheint effektyf tagong ta spesifike rollen, en as in brûker net ien fan 'e tastiene rollen hat, freget it har om oan te melden mei in keppeling dy't se nei it oanmelden werom sil omliede nei de hjoeddeistige side.

Selektearje jo sjabloan

Om de side te brûken, moatte jo de Allinich abonnees side-sjabloan yn 'e avansearre seksje fan' e opsjes fan jo side (op 'e sydbalke). Dit sil de side beheine ta oanmelde lêzers of jo definieare rol(len).

Douglas Karr

Douglas Karr is CMO fan OpenINSIGHTS en de oprjochter fan de Martech Zone. Douglas hat holpen tsientallen suksesfolle MarTech startups, hat holpen yn 'e due diligence fan mear as $ 5 miljard yn Martech oanwinsten en ynvestearrings, en bliuwt te helpen bedriuwen by it útfieren en automatisearjen fan harren ferkeap en marketing strategyen. Douglas is in ynternasjonaal erkend digitale transformaasje en MarTech-ekspert en sprekker. Douglas is ek in publisearre skriuwer fan in Dummie's gids en in boek foar bedriuwsliederskip.

Related Articles

Werom nei topknop
Slute

Adblock ûntdutsen

Martech Zone is yn steat om jo dizze ynhâld sûnder kosten te leverjen, om't wy ús side monetearje fia advertinsje-ynkomsten, affiliate keppelings en sponsoring. Wy soene it wurdearje as jo jo advertinsjeblokkerer fuortsmite as jo ús side besjen.