WordPress: Kreye yon modèl paj ki mande pou yon itilizatè anrejistre epi konekte
Nou te fini mete ann aplikasyon yon tèm koutim sou yon sit kliyan, epi yo te mande pou nou bati kèk kalite entèraksyon kote kèk nan paj yo te restriksyon nan abònen ki anrejistre. WordPress ofri opsyon Vizibilite pou paj, men sa pa akomode senaryo sa a.
- Prive – Chwazi vizibilite kòm prive sèlman pèmèt administratè yo ak editè yo wè kontni an.
- Modpas Pwoteje – egzije yon kòd inik pou aplike pou chak paj pou wè kontni an.
Okòmansman, nou te panse sou aplikasyon grefon twazyèm pati, men solisyon an te senp. Nou ta ka kreye yon modèl inik ki mande telespektatè yo enskri epi konekte pou wè paj la.
Modèl WordPress: Abonnés Sèlman
Premyèman, nou kopye modèl paj kliyan nou an (page.php
) nan la tèm timoun. Pou kreye yon modèl, ou bezwen ajoute kèk kòd nan tèt paj ou a:
<?php /* Template Name: Subscribers Only */ ?>
Next, gade pou liy lan nan kòd paj ou a ki montre kontni an. Li ta dwe sanble tankou sa a:
<?php the_content(); ?>
Koulye a, ou pral bezwen vlope kèk kòd alantou liy sa a:
<?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; ?>
Men yon eksplikasyon sou kòd la nan pwen:
$redirect_url = get_permalink();
: Liy sa a rekipere URL paj aktyèl la epi estoke li nan varyab la$redirect_url
.if (is_user_logged_in()) :
: Deklarasyon kondisyonèl sa a tcheke si yon itilizatè deja konekte.- Si itilizatè a konekte, kòd ki nan blòk sa a egzekite.
<h2><?php the_title(); ?></h2>
: Sa a montre tit paj aktyèl la.<?php the_content(); ?>
: Sa a montre kontni paj aktyèl la.
- Si itilizatè a pa konekte, kòd la nan
else
blòk egzekite.<h2>Subscriber Only</h2>
: Sa a montre yon tit ki endike kontni an gen restriksyon.<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>
: Sa a montre yon mesaj ki eksplike ke kontni an gen restriksyon sou sèten wòl epi li bay yon lyen "Konekte". Lyen anhref
atribi se mete nan URL la konekte ki te pwodwi pawp_login_url($redirect_url)
, asire ke itilizatè yo redireksyon tounen nan paj aktyèl la apre yo fin konekte.
Kòd sa a efektivman tcheke si yon itilizatè konekte epi, si se pa sa, ankouraje yo konekte pou jwenn aksè nan kontni an restriksyon, ak yon lyen ki dirije yo tounen nan paj la yo t ap eseye wè.
Gade pa wòl itilizatè espesifik
Ou kapab tou limite kontni an nan wòl itilizatè espesifik si ou ta renmen:
<?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; ?>
Men yon eksplikasyon sou kòd la nan pwen:
$allowed_roles = array('subscriber', 'editor', 'author');
: Liy sa a kreye yon seri wòl pèmèt yo, ki espesifye ki wòl itilizatè yo pèmèt yo jwenn aksè nan kontni an. Ou kapab personnaliser etalaj sa a pou genyen ladan yo wòl ou vle pèmèt.$user = wp_get_current_user();
: Kòd sa a jwenn enfòmasyon sou itilizatè aktyèl la, enkli wòl yo.$redirect_url = get_permalink();
: Liy sa a estoke URL paj aktyèl la nan$redirect_url
varyab, ki pral itilize pou redireksyon itilizatè a tounen nan paj aktyèl la apre yo fin konekte.if (array_intersect($allowed_roles, $user->roles)) :
: Deklarasyon kondisyonèl sa a tcheke si wòl itilizatè a kwaze ak wòl yo ki nan lis nan$allowed_roles
etalaj. Nan lòt mo, li tcheke si itilizatè a gen youn nan wòl yo pèmèt.- Si itilizatè a gen youn nan wòl yo pèmèt, kòd ki nan blòk sa a egzekite.
<h2><?php the_title(); ?></h2>
: Sa a montre tit paj aktyèl la.<?php the_content(); ?>
: Sa a montre kontni paj aktyèl la.
- Si itilizatè a pa gen youn nan wòl yo pèmèt, kòd la nan
else
blòk egzekite.<h2>Restricted Access</h2>
: Sa a montre yon tit ki endike kontni an gen restriksyon.<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>
: Sa a montre yon mesaj ki eksplike ke kontni an gen restriksyon sou sèten wòl epi li bay yon lyen "Konekte". Lyen anhref
atribi se mete nan URL la konekte ki te pwodwi pawp_login_url($redirect_url)
, asire ke itilizatè yo redireksyon tounen nan paj aktyèl la apre yo fin konekte.
Kòd sa a efektivman limite aksè nan wòl espesifik, epi si yon itilizatè pa gen youn nan wòl yo pèmèt, li pouse yo konekte ak yon lyen ki pral redireksyon yo tounen nan paj aktyèl la apre ou fin konekte.
Chwazi modèl ou a
Pou itilize paj la, w ap bezwen chwazi Abonnés sèlman modèl paj nan seksyon avanse opsyon paj ou a (sou ankadre a). Sa a pral limite paj la pou lektè ki konekte oswa wòl ou defini (yo).