Абмяжуйце старонкі ў WordPress патрабаваць уваходу

Screen Shot 2013 07 01 12.23.52 ў лічку

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

Па-першае, мы скапіявалі шаблон старонкі ў новы файл (любое імя падыходзіць, проста падтрымлівайце пашырэнне php). Уверсе старонкі абавязкова пракаментуйце старонку, каб вы маглі ўбачыць яе ў рэдактары шаблонаў па імені:


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


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

Толькі для падпісчыкаў На жаль, змест, які вы спрабуеце атрымаць, абмежаваны толькі для падпісчыкаў.

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

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

Калі вы хочаце захацець па-сапраўднаму, вы можаце таксама дадаць спосаб ўваходу і выхаду на бакавую панэль:

">Выхад /wp-login.php">Уваход кліента

28 Каментары

  1. 1
  2. 2
  3. 3
    • 4

      Прывітанне, Парта,

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

      Doug

  4. 5

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

  5. 6
    • 7
      • 8

        Гэта не зручна для карыстальніка, але гэта нармальна ... Я адчуваю, што некаторыя здымкі таго, што я павінен рабіць, дапамогуць. У адваротным выпадку ... я проста паспрабую рэчы, пакуль гэта не атрымаецца!

        • 9

          скапіруйце page.php, перайменаваць page2.php і ўстаўце прыведзены вышэй код, захавайце файл, загрузіце назад у змест / тэму / па-іншаму, перайдзіце ў паведамленне альбо зменіце макет старонкі па змаўчанні на page2.php. Не трэба ствараць новы стыль / макет старонкі, проста скапіруйце той, які вы выкарыстоўваеце, і перайменавайце яго. так fullwidth.php так проста fullwidth2.php.

      • 10

        Добра, пасля ШМАТ спробаў і прагляду іншых падручнікаў у Інтэрнэце ... Я выявіў, што Стварэнне новага шаблона старонкі - мая праблема. Я раблю яго ў тэкставым рэдактары і спрабую загрузіць у ... дзе? Я нават не ведаю, куды ісці. Здаецца, я не магу знайсці гэтае сакрэтнае месца для загрузкі!

        • 11

          Так праўда, ЛаРок! Вам трэба мець праграму FTP і доступ да тэчкі вашага сайта, каб вы маглі загрузіць файл туды. У цяперашні час няма магчымасці зрабіць гэта праз адміністрацыйны экран. Выключэннем будзе ўстаноўка убудовы «Дыспетчар файлаў», які дазваляе ствараць новыя файлы. Будзьце асцярожныя! 

  6. 12
  7. 13
  8. 14
  9. 15
    • 16

      Вы напэўна можаце проста праверыць, увайшоў ці не карыстальнік; аднак, метад, вызначаны вышэй, у рэшце рэшт дазволіць вам выкарыстоўваць узроўні дазволаў, калі вы хочаце наладзіць ўзроўні!

  10. 17
  11. 18
  12. 19

    Добра, я перакушу ... Як бы вы змянілі гэта, каб дазволіць праверыць дазволы?

    Скажам, мы ўсё яшчэ хочам дазволіць любому стварыць уласнае імя карыстальніка "Падпісчык" і размяшчаць адказы.
    АЛЕ - мы даем доступ да старонкі "Толькі для падпісчыкаў" толькі тым карыстальнікам, якіх пазначаў адміністратар?

  13. 20
  14. 21

    Дуглас - я выкарыстаў ваш код - і ў большасці сваёй ён выдатна працуе! У мяне праблема ў тым, што спасылка на выхад вяртаецца на сайт, які не існуе. Я паспрабаваў некалькі кодаў WordPress з Інтэрнэту, каб прымусіць код выйсці. . . але карыстальнік па-ранейшаму застаецца ўвайшоў у сістэму, і вяртанне //wp-login.php?redirect_to===>log%20in%20%20%20%20%20%20%20%20%20%20%20%20 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20% 20

    Любыя думкі?

    • 22

      Падобна на тое, што, калі код быў скапіяваны з вашага браўзэра, ён дадаў кучу HTML-прастор, Раян. Скапіруйце код у нататнік альбо тэкставую панэль, а затым скапіруйце яго ў шаблон, каб пазбавіцца ад гэтага.

  15. 23

    Добра, гэта якраз тое, што мне трэба зрабіць, але ў мяне ёсць адно пытанне. Калі яны не з'яўляюцца падпісчыкамі, як я магу зрабіць так, каб з'явілася поле "Увайсці" ці "Падпісацца", каб яны маглі атрымаць доступ да змесціва?

    дзякуй

  16. 25

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

  17. 26

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

    • 27

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

  18. 28

Што вы думаеце?

Гэты сайт выкарыстоўвае Akismet для барацьбы са спамам. Даведайцеся, як дадзеныя апрацоўваюцца каментар.