Змест маркетынгу

WordPress: Стварыце шаблон старонкі, які патрабуе ад карыстальніка рэгістрацыі і ўваходу ў сістэму

Мы завяршалі ўкараненне карыстальніцкай тэмы на кліенцкім сайце, і яны папрасілі нас пабудаваць нейкае ўзаемадзеянне, пры якім некаторыя старонкі былі б абмежаваныя для зарэгістраваных падпісчыкаў. WordPress сапраўды прапануе параметры бачнасці для старонак, але гэта не адпавядае дадзенаму сцэнарыю.

  • прыватны – Выбар бачнасці як прыватнай дазваляе толькі адміністратарам і рэдактарам праглядаць кантэнт.
  • абаронены паролем – для прагляду змесціва патрабуецца прымяненне ўнікальнага кода для кожнай старонкі.

Спачатку мы думалі аб укараненні старонніх плагінаў, але рашэнне было простым. Мы маглі б стварыць унікальны шаблон, які патрабуе ад гледачоў рэгістрацыі і ўваходу для прагляду старонкі.

Шаблон WordPress: толькі для падпісчыкаў

Спачатку мы скапіявалі шаблон старонкі нашага кліента (page.php) у межах Дзіця тэме. Каб стварыць шаблон, вам трэба дадаць код у верхняй частцы вашай старонкі:

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

Далей шукайце радок у кодзе вашай старонкі, які адлюстроўвае змест. Гэта павінна выглядаць так:

<?php the_content(); ?>

Зараз вам трэба будзе абгарнуць нейкі код вакол гэтага радка:

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

Вось тлумачэнне кода ў пунктах:

  • $redirect_url = get_permalink();: Гэты радок здабывае URL бягучай старонкі і захоўвае яго ў зменнай $redirect_url.
  • if (is_user_logged_in()) :: Гэты ўмоўны аператар правярае, ці ўвайшоў карыстальнік ужо ў сістэму.
  • Калі карыстальнік увайшоў у сістэму, код у гэтым блоку выконваецца.
    • <h2><?php the_title(); ?></h2>: Гэта паказвае назву бягучай старонкі.
    • <?php the_content(); ?>: Гэта адлюстроўвае змест бягучай старонкі.
  • Калі карыстальнік не ўвайшоў у сістэму, код у 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>: Гэта адлюстроўвае паведамленне, якое тлумачыць, што змесціва абмежавана для пэўных роляў, і змяшчае спасылку «Увайсці». Спасылка href атрыбут усталёўваецца на URL для ўваходу, згенераваны wp_login_url($redirect_url), забяспечваючы перанакіраванне карыстальнікаў назад на бягучую старонку пасля ўваходу ў сістэму.

Гэты код эфектыўна правярае, ці ўвайшоў карыстальнік у сістэму, і, калі не, заахвочвае яго ўвайсці, каб атрымаць доступ да забароненага кантэнту, са спасылкай, якая накіроўвае яго назад на старонку, якую ён спрабаваў праглядзець.

Прагляд па пэўнай ролі карыстальніка

Вы таксама можаце абмежаваць змесціва пэўнымі ролямі карыстальнікаў, калі хочаце:

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

Вось тлумачэнне кода ў пунктах:

  • $allowed_roles = array('subscriber', 'editor', 'author');: Гэты радок стварае масіў дазволеных роляў, указваючы, якім ролям карыстальнікаў дазволены доступ да кантэнту. Вы можаце наладзіць гэты масіў, каб уключыць ролі, якія вы хочаце дазволіць.
  • $user = wp_get_current_user();: Гэты код здабывае інфармацыю аб бягучым карыстальніку, уключаючы яго ролі.
  • $redirect_url = get_permalink();: Гэты радок захоўвае URL бягучай старонкі ў $redirect_url зменная, якая будзе выкарыстоўвацца для перанакіравання карыстальніка назад на бягучую старонку пасля ўваходу ў сістэму.
  • if (array_intersect($allowed_roles, $user->roles)) :: Гэты ўмоўны аператар правярае, ці перасякаюцца ролі карыстальніка з ролямі, пералічанымі ў $allowed_roles масіў. Іншымі словамі, ён правярае, ці мае карыстальнік адну з дазволеных роляў.
  • Калі карыстальнік мае адну з дазволеных роляў, код у гэтым блоку выконваецца.
    • <h2><?php the_title(); ?></h2>: Гэта паказвае назву бягучай старонкі.
    • <?php the_content(); ?>: Гэта адлюстроўвае змест бягучай старонкі.
  • Калі карыстальнік не мае адной з дазволеных роляў, код у 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>: Гэта адлюстроўвае паведамленне, якое тлумачыць, што змесціва абмежавана для пэўных роляў, і змяшчае спасылку «Увайсці». Спасылка href атрыбут усталёўваецца на URL для ўваходу, згенераваны wp_login_url($redirect_url), забяспечваючы перанакіраванне карыстальнікаў назад на бягучую старонку пасля ўваходу ў сістэму.

Гэты код фактычна абмяжоўвае доступ да пэўных роляў, і калі карыстальнік не мае адной з дазволеных роляў, ён прапануе яму ўвайсці па спасылцы, якая перанакіроўвае яго назад на бягучую старонку пасля ўваходу.

Выберыце свой шаблон

Каб выкарыстоўваць старонку, вам трэба будзе выбраць Толькі для падпісчыкаў шаблон старонкі ў пашыраным раздзеле параметраў вашай старонкі (на бакавой панэлі). Гэта абмяжуе старонку толькі чытачамі, якія ўвайшлі ў сістэму, або вызначанай вамі роляй(-ямі).

Douglas Karr

Douglas Karr з'яўляецца CMO кампаніі OpenINSIGHTS і заснавальнік ст Martech Zone. Дуглас дапамог дзясяткам паспяховых стартапаў MarTech, аказаў дапамогу ў належнай абачлівасці больш чым на 5 мільярдаў долараў у набыцці і інвестыцыях Martech і працягвае дапамагаць кампаніям у рэалізацыі і аўтаматызацыі іх продажаў і маркетынгавых стратэгій. Дуглас - міжнародна прызнаны эксперт і дакладчык па лічбавай трансфармацыі і MarTech. Дуглас таксама з'яўляецца апублікаваным аўтарам даведніка па манекенах і кнігі па бізнес-кіраўніцтву.

Артыкулы па Тэме

Вярнуцца да пачатку кнопкі
блізка

Выяўлена блакіроўка рэкламы

Martech Zone можа даць вам гэты кантэнт бясплатна, таму што мы манетызуем наш сайт за кошт даходаў ад рэкламы, партнёрскіх спасылак і спонсарства. Мы былі б удзячныя, калі б вы выдалілі блакіроўшчык рэкламы пры праглядзе нашага сайта.