Obmedzte stránky na WordPress tak, aby vyžadovali prihlásenie

Snímka obrazovky 2013 07 01 pri 12.23.52 PM

login_lock.jpgTento týždeň sme dokončovali implementáciu vlastnej témy na klientskom webe a požiadali nás, aby sme vytvorili nejaký druh interakcie, pri ktorej by niektoré zo stránok boli obmedzené na registrovaných predplatiteľov. Spočiatku sme uvažovali o implementácii doplnkov tretích strán, ale riešenie bolo v skutočnosti celkom jednoduché.

Najskôr sme skopírovali šablónu stránky do nového súboru (akýkoľvek názov je v poriadku, stačí zachovať príponu php). V hornej časti stránky nezabudnite stránku komentovať, aby ste ju videli v editore šablón podľa názvu:


Ďalej vyhľadajte riadok v kóde svojej stránky, ktorý zobrazuje obsah. Malo by to vyzerať takto:


Teraz budete musieť okolo tohto riadku zabaliť nejaký kód:

Iba predplatiteľ Je nám ľúto, obsah, ktorý sa pokúšate získať, je obmedzený iba na predplatiteľov.

Kód sa začína kontrolou relácie, či je používateľ prihlásený na vašom webe WordPress. Ak sú prihlásení, zobrazí sa obsah. Ak nie sú prihlásení, v správe sa uvádza, že sa pokúšate získať prístup k obmedzenému obsahu.

Ak chcete stránku použiť, musíte zvoliť Iba predplatitelia v rozšírenej časti možností stránky (na bočnom paneli). To stránku obmedzí na prihlásených čitateľov.

Ak chcete mať skutočne chuť, môžete si na svoj bočný panel pridať aj metódu prihlásenia a odhlásenia:

">Odhlásiť sa /wp-login.php">Prihlásenie zákazníka

28 Komentáre

  1. 1
  2. 2
  3. 3
    • 4

      Ahoj partha,

      To by bolo celkom jednoduché - do hlavičky stránky môžete pridať rovnakú techniku ​​a v podstate povedať ... if (no userid AND page not equal to pagename) then header forward to the login page.

      Doug

  4. 5

    skvelé elegantné riešenie! práve to, čo som potreboval, som vážne uvažoval o vytvorení externého prihlasovacieho systému.
    toto skaly!

  5. 6
    • 7
      • 8

        Nie je to užívateľsky prívetivé, ale to je v poriadku ... Mám pocit, že by pomohli niektoré obrázky toho, čo mám robiť. Inak ... skúsim veci, kým to nebude fungovať!

        • 9

          skopírujte page.php, premenujte page2.php a vložte vyššie uvedený kód, uložte súbor, nahrajte späť na obsah / tému / čokoľvek iné, choďte na príspevok alebo zmeňte predvolené rozloženie stránky na page2.php. Nie je potrebné vytvárať nový štýl / rozloženie stránky, iba skopírujte ten, ktorý používate, a premenujte ho. takže fullwidth.php je fullwidth2.php taký jednoduchý.

      • 10

        Dobre, takže po MNOHÝCH pokusoch a pozeraní ďalších návodov na internete ... Zistil som, že VYTVORENIE novej šablóny stránky je môj problém. Vytvorím jeden v textovom editore a pokúsim sa ho nahrať na ... kam? Ani neviem, kam mám ísť. Zdá sa mi, že nenájdem toto tajné umiestnenie na nahranie!

        • 11

          Takže pravda, LaRocque! Musíte mať program FTP a prístup k priečinku s témami na svojom webe, aby ste tam mohli nahrať súbor. V súčasnosti neexistuje žiadny spôsob, ako to urobiť prostredníctvom obrazovky pre správu. Jednou výnimkou by bola inštalácia doplnku „Správca súborov“, ktorý vám umožní vytvárať nové súbory. Buďte však opatrní! 

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

      Určite môžete skontrolovať, či je používateľ prihlásený alebo nie; vyššie definovaná metóda vám však nakoniec umožní použiť úrovne povolení, ak si chcete úrovne prispôsobiť!

  10. 17
  11. 18
  12. 19

    Dobre, tak uhryznem ... Ako by ste to upravili tak, aby umožňovali kontrolu povolení?

    Povedzme - stále chceme, aby si ktokoľvek vytvoril svoje vlastné používateľské meno „Odberateľ“ a zverejňoval odpovede.
    ALE - prístup na stránku „Iba pre predplatiteľov“ poskytujeme iba tým používateľom, ktorých určí správca?

  13. 20
  14. 21

    Douglas - použil som tvoj kód - a väčšinou funguje skvele! Problém, ktorý mám, je, že odkaz Odhlásiť sa vráti na neexistujúcu stránku. Vlastne som vyskúšal viac wordpressových kódov z celého webu, aby fungoval odhlasovací kód. . . ale používateľ stále zostáva prihlásený a návratnosť je //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

    Nejaké nápady?

    • 22

      Vyzerá to, že sa môže stať, že keď bol kód skopírovaný z vášho prehliadača, pridal kopu HTML medzier, Ryane. Skopírujte kód do programu Poznámkový blok alebo Textpad a potom ho skopírujte do svojej šablóny, aby ste sa ich zbavili.

  15. 23

    Dobre, takže je to presne to, čo musím urobiť, ale mám jednu otázku. Ak nie sú predplatiteľom, ako môžem vytvoriť pole „prihlásiť sa“ alebo „prihlásiť sa na odber“, aby mali prístup k obsahu?

    Vďaka

  16. 25

    Ďakujem za kód. spôsobí, že sa ľudia na mňa budú hnevať, ale predpokladajú, že sa prihlásia, keď chcú, aby niečo neumožňovalo všetkým voľný prístup na uľahčenie hľadania súborov.

  17. 26

    Zdá sa, že táto metóda je predmetom únosu relácie. Prihlasovací súbor cookie sa pridá v zabezpečenej oblasti, ale pretože WordPress slúži ako nezabezpečený súbor cookie, bude sa naďalej zobrazovať, ak používateľ prejde späť na časť webu, ktorá nie je šifrovaná.

  18. 28

Čo si myslíte?

Táto stránka používa Akismet na zníženie spamu. Zistite, ako sa spracúvajú údaje vašich komentárov.