Sisältö Markkinointi

WordPress: Luo sivumalli, joka edellyttää käyttäjän rekisteröitymistä ja sisäänkirjautumista

Olimme viimeistelemässä mukautetun teeman käyttöönottoa asiakassivustolla, ja he pyysivät rakentamaan jonkinlaista vuorovaikutusta, jossa osa sivuista oli rajoitettu rekisteröityneille tilaajille. WordPress tarjoaa sivuille näkyvyysasetuksia, mutta se ei sovi tähän skenaarioon.

  • yksityinen – Jos näkyvyys valitaan yksityiseksi, vain järjestelmänvalvojat ja toimittajat voivat tarkastella sisältöä.
  • Salasanasuojattu – edellyttää yksilöllisen koodin käyttämistä jokaiselle sivulle sisällön katsomiseksi.

Aluksi ajattelimme ottaa käyttöön kolmannen osapuolen laajennuksia, mutta ratkaisu oli yksinkertainen. Voisimme luoda ainutlaatuisen mallin, joka edellyttää katsojien rekisteröitymistä ja sisäänkirjautumista nähdäkseen sivun.

WordPress-malli: vain tilaajille

Ensin kopioimme asiakkaamme sivumallin (page.php) sisällä lapsi teema. Mallin luomiseksi sinun on lisättävä koodi sivusi yläosaan:

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

Etsi seuraavaksi sivusi koodista rivi, joka näyttää sisällön. Sen pitäisi näyttää tältä:

<?php the_content(); ?>

Nyt sinun on käärittävä koodi tämän rivin ympärille:

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

Tässä on koodin selitys luettelomerkeissä:

  • $redirect_url = get_permalink();: Tämä rivi hakee nykyisen sivun URL-osoitteen ja tallentaa sen muuttujaan $redirect_url.
  • if (is_user_logged_in()) :: Tämä ehdollinen lauseke tarkistaa, onko käyttäjä jo kirjautunut sisään.
  • Jos käyttäjä on kirjautunut sisään, tässä lohkossa oleva koodi suoritetaan.
    • <h2><?php the_title(); ?></h2>: Tämä näyttää nykyisen sivun otsikon.
    • <?php the_content(); ?>: Tämä näyttää nykyisen sivun sisällön.
  • Jos käyttäjä ei ole kirjautunut sisään, koodi sisällä else lohko suoritetaan.
    • <h2>Subscriber Only</h2>: Tämä näyttää otsikon, joka osoittaa, että sisältö on rajoitettu.
    • <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>: Tämä näyttää viestin, joka selittää, että sisältö on rajoitettu tiettyihin rooleihin, ja sisältää "Kirjaudu" -linkin. Linkin href attribuutti asetetaan käyttäjän luomaan kirjautumis-URL-osoitteeseen wp_login_url($redirect_url), varmistaen, että käyttäjät ohjataan takaisin nykyiselle sivulle sisäänkirjautumisen jälkeen.

Tämä koodi tarkistaa tehokkaasti, onko käyttäjä kirjautunut sisään, ja jos ei, rohkaisee häntä kirjautumaan sisään päästäkseen rajoitettuun sisältöön linkin avulla, joka ohjaa hänet takaisin sivulle, jota he yrittivät tarkastella.

Näytä tietyn käyttäjäroolin mukaan

Voit myös rajoittaa sisällön tiettyihin käyttäjärooleihin, jos haluat:

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

Tässä on koodin selitys luettelomerkeissä:

  • $allowed_roles = array('subscriber', 'editor', 'author');: Tämä rivi luo joukon sallittuja rooleja, jotka määrittelevät, mitkä käyttäjäroolit saavat käyttää sisältöä. Voit mukauttaa tätä taulukkoa sisällyttämään siihen roolit, jotka haluat sallia.
  • $user = wp_get_current_user();: Tämä koodi hakee tiedot nykyisestä käyttäjästä, mukaan lukien hänen roolinsa.
  • $redirect_url = get_permalink();: Tämä rivi tallentaa nykyisen sivun URL-osoitteen $redirect_url muuttuja, jota käytetään ohjaamaan käyttäjä takaisin nykyiselle sivulle sisäänkirjautumisen jälkeen.
  • if (array_intersect($allowed_roles, $user->roles)) :: Tämä ehdollinen lauseke tarkistaa, risteävätkö käyttäjän roolit kohdassa lueteltujen roolien kanssa $allowed_roles joukko. Toisin sanoen se tarkistaa, onko käyttäjällä jokin sallituista rooleista.
  • Jos käyttäjällä on jokin sallituista rooleista, tämän lohkon koodi suoritetaan.
    • <h2><?php the_title(); ?></h2>: Tämä näyttää nykyisen sivun otsikon.
    • <?php the_content(); ?>: Tämä näyttää nykyisen sivun sisällön.
  • Jos käyttäjällä ei ole yhtä sallituista rooleista, koodi sisällä else lohko suoritetaan.
    • <h2>Restricted Access</h2>: Tämä näyttää otsikon, joka osoittaa, että sisältö on rajoitettu.
    • <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>: Tämä näyttää viestin, joka selittää, että sisältö on rajoitettu tiettyihin rooleihin, ja sisältää "Kirjaudu" -linkin. Linkin href attribuutti asetetaan käyttäjän luomaan kirjautumis-URL-osoitteeseen wp_login_url($redirect_url), varmistaen, että käyttäjät ohjataan takaisin nykyiselle sivulle sisäänkirjautumisen jälkeen.

Tämä koodi rajoittaa tehokkaasti pääsyä tiettyihin rooleihin, ja jos käyttäjällä ei ole yhtäkään sallituista rooleista, se kehottaa häntä kirjautumaan sisään linkillä, joka ohjaa hänet takaisin nykyiselle sivulle sisäänkirjautumisen jälkeen.

Valitse mallisi

Jotta voit käyttää sivua, sinun on valittava Vain tilaajat sivumalli sivusi asetusten lisäosiossa (sivupalkissa). Tämä rajoittaa sivun sisäänkirjautuneisiin lukijoihin tai määrittämiisi rooleihisi.

Douglas Karr

Douglas Karr on CMO of OpenINSIGHTS ja perustaja Martech Zone. Douglas on auttanut kymmeniä menestyneitä MarTech-startuppeja, auttanut yli 5 miljardin dollarin due diligence -tarkastuksessa Martechin hankinnoissa ja investoinneissa ja avustaa edelleen yrityksiä niiden myynti- ja markkinointistrategioiden toteuttamisessa ja automatisoinnissa. Douglas on kansainvälisesti tunnustettu digitaalisen transformaation ja MarTechin asiantuntija ja puhuja. Douglas on myös julkaissut Dummie's-oppaan ja yritysjohtajuuskirjan.

Aiheeseen liittyvät artikkelit

Takaisin alkuun -painiketta
lähellä

Adblock havaittu

Martech Zone pystyy tarjoamaan sinulle tämän sisällön veloituksetta, koska ansaitsemme sivustomme mainostulojen, kumppanilinkkien ja sponsoroinnin kautta. Olisimme kiitollisia, jos poistaisit mainosten esto-ohjelman, kun katselet sivustoamme.