Omezte stránky ve WordPressu tak, aby vyžadovaly přihlášení

Screen Shot 2013 07 01 12.23.52 na PM

login_lock.jpgTento týden jsme dokončovali implementaci vlastního motivu na klientský web a oni požadovali, abychom vytvořili nějaký druh interakce, kde by některé stránky byly omezeny na registrované předplatitele. Nejprve jsme uvažovali o implementaci pluginů třetích stran, ale řešení bylo ve skutečnosti celkem jednoduché.

Nejprve jsme zkopírovali šablonu stránky do nového souboru (libovolný název je v pořádku, stačí udržovat příponu php). V horní části stránky nezapomeňte stránku okomentovat, abyste ji mohli vidět v editoru šablon podle názvu:

 

Dále vyhledejte řádek v kódu vaší stránky, který zobrazuje obsah. Mělo by to vypadat takto:

 

Nyní budete muset kolem tohoto řádku zabalit nějaký kód:

 Pouze předplatitel Je nám líto, obsah, který se pokoušíte získat, je omezen pouze na předplatitele.

Kód začíná kontrolou relace, aby se zjistilo, zda je uživatel přihlášen na váš web WordPress. Pokud jsou přihlášeni, zobrazí se obsah. Pokud nejsou přihlášeni, ve zprávě se uvádí, že se pokoušíte dosáhnout omezeného obsahu.

Chcete-li stránku využít, musíte vybrat Pouze předplatitelé šablony stránky v pokročilé části možností vaší stránky (na postranním panelu). To omezí stránku na přihlášené čtenáře.

Chcete-li mít opravdu chuť, můžete do postranního panelu přidat také metodu přihlášení a odhlášení:

">Odhlásit se /wp-login.php">Přihlášení zákazníka

28 Komentáře

  1. 1
  2. 2
  3. 3
    • 4

      Ahoj partha,

      To by bylo docela jednoduché - do záhlaví stránky můžete přidat stejnou techniku ​​a v zásadě říci ... if (no userid AND page not equal to pagename) then header forward to the login page.

      Doug

  4. 5

    skvělé elegantní řešení! přesně to, co jsem potřeboval, jsem vážně uvažoval o vytvoření externího přihlašovacího systému.
    tohle skály!

  5. 6
    • 7
      • 8

        Není to uživatelsky přívětivé, ale to je v pořádku ... Mám pocit, že by pomohly některé obrázky toho, co mám dělat. Jinak ... prostě zkusím věci, dokud to nebude fungovat!

        • 9

          zkopírujte page.php, přejmenujte page2.php a vložte kód výše, uložte soubor, nahrajte zpět na obsah / téma / cokoli jiného, ​​přejděte na příspěvek nebo změňte výchozí rozložení stránky na page2.php. Není třeba vytvářet nový styl / rozvržení stránky, stačí zkopírovat ten, který používáte, a přejmenovat ho. fullwidth.php je fullwidth2.php tak jednoduchý.

      • 10

        Dobře, takže po MNOHÝCH pokusech a sledování dalších tutoriálů na internetu ... Zjistil jsem, že VYTVOŘENÍ nové šablony stránky je můj problém. Vytvořím jeden v textovém editoru a pokusím se jej nahrát na ... kam? Ani nevím, kam jít. Zdá se mi, že nenajdu toto tajné umístění k nahrání!

        • 11

          Tak pravda, LaRocque! Abyste mohli soubor nahrát, musíte mít program FTP a přístup do složky motivů svého webu. V současné době neexistuje žádný způsob, jak to udělat prostřednictvím obrazovky pro správu. Jedinou výjimkou by byla instalace pluginu „Správce souborů“, který vám umožní vytvářet nové soubory. Buďte opatrní! 

  6. 12
  7. 13
  8. 14
  9. 15
  10. 17
  11. 18
  12. 19

    Dobře, tak kousnu ... Jak byste to upravili tak, aby umožňovaly kontrolu oprávnění?

    Řekněme - stále chceme umožnit komukoli vytvořit si vlastní uživatelské jméno „Odběratel“ a zveřejňovat odpovědi.
    ALE - přístup na stránku „Pouze pro předplatitele“ udělujeme pouze těm uživatelům, které určí správce?

  13. 20
  14. 21

    Douglas - použil jsem tvůj kód - a většinou funguje skvěle! Problém, který mám, je, že odkaz Odhlásit se vrací na web, který neexistuje. Vlastně jsem vyzkoušel několik wordpressových kódů z celého webu, aby odhlášení fungovalo. . . ale uživatel stále zůstane přihlášen a návratnost 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

    Nějaké nápady?

    • 22

      Vypadá to, že se může stát, že když byl kód zkopírován z vašeho prohlížeče, přidal spoustu prostorů HTML, Ryane. Zkopírujte kód do programu Poznámkový blok nebo Textpad a poté jej zkopírujte do své šablony, abyste se těchto věcí zbavili.

  15. 23

    Dobře, takže to je přesně to, co musím udělat, ale mám jednu otázku. Pokud nejsou předplatitelem, jak zobrazím pole „přihlásit se“ nebo „přihlásit se k odběru“, aby měli přístup k obsahu?

    Díky

  16. 25

    Díky za kód. lidi na mě naštve, ale domnívají se, že se přihlásí, když chtějí, aby něco neumožňovalo všem volný přístup, aby bylo možné soubory snadno najít.

  17. 26

    Vypadá to, že tato metoda podléhá únosu relace. Přihlašovací soubor cookie bude přidán v zabezpečené oblasti, ale protože WordPress slouží jako nezabezpečený soubor cookie, bude se nadále zobrazovat, pokud uživatel přejde zpět na část webu, která není šifrovaná.

  18. 28

Co si myslíte?

Tyto stránky používají Akismet k omezení spamu. Zjistěte, jak jsou vaše údaje komentářů zpracovávány.