Ограничете страниците в WordPress да изискват вход

Снимка на екрана 2013 07 01 на 12.23.52 PM

login_lock.jpgТази седмица завършихме с внедряването на персонализирана тема на клиентски сайт и те поискаха да изградим някакъв вид взаимодействие, при което някои от страниците бяха ограничени до регистрирани абонати. Първоначално мислехме за внедряване на приставки на трети страни, но решението всъщност беше доста просто.

Първо копирахме шаблона на страницата в нов файл (всяко име е добре, просто поддържайте разширението php). В горната част на страницата не забравяйте да коментирате страницата, така че да можете да я видите в редактора на шаблони по име:

 

След това потърсете реда в кода на вашата страница, който показва съдържанието. Тя трябва да изглежда така:

 

Сега ще трябва да увиете някакъв код около този ред:

Само за абонати За съжаление съдържанието, до което се опитвате да достигнете, е ограничено само за абонати.

Кодът започва с проверка на сесията, за да се види дали потребителят е влязъл във вашия сайт на WordPress. Ако са влезли, съдържанието се показва. Ако не са влезли, съобщението гласи, че се опитвате да достигнете до ограничено съдържание.

За да използвате страницата, ще трябва да изберете Само за абонати шаблон на страница в разширения раздел на опциите на вашата страница (в страничната лента). Това ще ограничи страницата до читатели, които са влезли в системата.

Ако искате да сте наистина фантастични, можете да добавите и метод за влизане и излизане към страничната си лента:

">Излез от профила си /wp-login.php">Вход за клиенти

28 Коментари

  1. 1
  2. 2
  3. 3
    • 4

      Здравей, Парта,

      Това би било доста просто - можете да добавите същата техника към заглавката на страницата и по принцип да кажете ... ако (без идентификатор на потребителя И страница не е равна на името на страницата), тогава заглавката напред към страницата за вход.

      Дъг

  4. 5

    страхотно елегантно решение! точно това, от което имах нужда, сериозно обмислях да изградя външна система за вход.
    това скали!

  5. 6
    • 7
      • 8

        Това не е удобно за потребителя, но това е добре ... Чувствам се, че някои снимки на това, което трябва да правя, биха помогнали. В противен случай ... просто ще опитам неща, докато не стане!

        • 9

          копирайте page.php, Преименувайте page2.php и вмъкнете кода по-горе, запазете файла, качете обратно към съдържание / тема / каквото и да е извикано, отидете на публикация или променете страницата по подразбиране на page2.php Няма нужда да създавате нов стил / оформление на страницата, просто копирайте този, който използвате, и го преименувайте. така че fullwidth.php е fullwidth2.php толкова просто.

      • 10

        Добре, така че след МНОГО опити и гледане на други уроци в интернет ... Установих, че ПРАВЕНЕТО на нов шаблон за страница е моят проблем. Правя такъв в текстов редактор и се опитвам да го кача на ... къде? Дори не знам къде да отида. Не мога да намеря това тайно местоположение, на което да кача!

        • 11

          Толкова вярно, LaRocque! Трябва да имате 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 пространства, Райън. Копирайте кода в Notepad или Textpad и след това го копирайте във вашия шаблон, за да се отървете от тези неща.

  15. 23

    Добре, значи точно това трябва да направя, но имам един въпрос. Ако те не са абонати, как мога да направя да се появи полето „влизане“ или „абониране“, за да имат достъп до съдържанието?

    Благодаря

  16. 25

    Благодаря за кода. ще накара хората да се ядосат на мен, но те предполагат да влязат в системата, когато искат дадено нещо да не позволява на всички безплатен достъп за лесно намиране на файловете.

  17. 26

    Изглежда, че този метод е обект на отвличане на сесии. Бисквитката за влизане ще бъде добавена, докато е в защитената зона, но тъй като wordpress служи като несигурна бисквитка, тя все пак ще бъде показана, ако потребителят прегледа обратно част от сайта, която не е криптирана.

  18. 28

    благодаря много използва оператора if, за да направи div контейнер, ако потребителят е член
    вашето решение беше страхотно

Какво мислите?

Този сайт използва Akismet за намаляване на спама. Научете как се обработват данните за коментарите ви.