Kategorie s příspěvky chráněné heslem

Úvodní stránka Fórum podpory WordPressu Problémy s WordPressem Kategorie s příspěvky chráněné heslem

Zvolené téma obsahuje celkem 5 odpovědí. Do diskuze (3 účastníci) se naposledy zapojil uživatel  admin a poslední změna je stará 12 let.

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (z celkem 6)
  • Autor
    Příspěvky
  • #1524

    Speedi
    Participant

    Ahoj, měl bych dotaz jak mužu příspěvky z dané kategorie chránit heslem když je zobrazuju zvlášť na stránce?

    Když stránku zahesluji a mám povolen výpis pomocí query_posts(‚cat=5&pa­ged=‘.$paged); Tak zaheslování nefunguje. Máte někdo nějáký nápad?

    Zkoušel jsem i post_password_required() ale něják mi to nefungovalo..

    #11075

    neteyescz
    Participant

    Zdravím,

    Osobně bych to řešil pomocí jednoduché funkce, které zjistí, zda je uživatel přihlášený a podle toho také vypíše obsah. Stačí vytvořit stránce specifickou šablonu (Google) a obsah v ní obalit takto:

    <?php if (is_user_logged_in()) { ?>
    Tajný obsah
    <? } else { ?>
    Musíte se přihlásit!
    <? } ?>

    Pokud chcete chránit stránku přímo heslem, doporučuji plugin http://lud.icro.us/wordpress-plugin-global-post-password/ .

    S Pozdravem,

    Neteyes.cz

    #11076

    Speedi
    Participant

    No právě že jsem to chtěl pro nepřihlášené uživatele.. Jen že kdokoli kdo bude znát heslo, zadá a uvidí na stránce výpis příšpěvků.

    #11077

    neteyescz
    Participant

    Ale myslím si, že kontrola pomocí přihlášených uživatelů a lepší a pro vás i bezpečnější…

    #11078

    admin
    Keymaster
    Web

    Celé to bude trochu složitější, doplním základní poznámky…

    Klasická ochrana heslem by měla bez problémů fungovat, ale pouze pro konkrétní obsah stránky či příspěvku. Takže na stránce bude ukryt pouze samotný obsah stránky. Pokud na stránce nevypisujete obsah této stránky, ale děláte tam nějaké specifické výpisy příspěvků, tak už to není obsah stránky a klasická funkce hesla se na to nevztahuje. Děláte to vlastním skriptem v souborech šablony a není to součást stránky.

    Pokud zobrazujete vlastní výpis příspěvků na nějaké stránce, tak nepoužívejte query_posts(), ale raději WP_Query(), protože jde sekundární loop (smyčku).

    Řešení, které popisuje neteyescz je také pouze částečné. Kód sice ochrání konkrétní stránku, ale jakýkoli příspěvek z “ukryté” stránky bude možné zobrazit jinde (výpis rubriky, vyhledávání, atd).

    Nejjednodušší řešení je tak v podobě zmiňovaného pluginu Global Post Password, který jednoduše umožní nastavit jedno heslo pro všechny vybrané příspěvky. Na stránce tedy všichni uvidí výpis příspěvků (jejich názvy), ale k jejich obsahu se dostanou už pouze po zadání hesla.

    Určitě by šlo ale nějak vyřešit i jejich “nezobrazování” na stránce, nejdříve bych se však chtěl ujistit, že jsem to celé správně pochopil.

    #11079

    admin
    Keymaster
    Web

    A ještě dodám, že řešení pomocí funkce post_password_required() by mělo být také možné. Nejdříve tedy necháte vypsat stránku a ještě než začne vlastní výpis příspěvků, tak doplníte podmínku (zdroj):

    if( ! post_password_required() ) {
    // Skript pro zobrazení tajného výpisu...
    }
    else {
    // Bez hesla to nepůjde...
    }

    Ale pozor, je to podobné řešení, které zmiňuje neteyescz, takže se všemi nevýhodami (příspěvky bude možné nalézt jinde (výpis rubriky, vyhledávání, atd).

    Pokud by se uživatelé přihlašovali, tak existují zajímavá řešení v podobě pluginů, např. CaPa Protect, který by měl umět přesně to, co potřebujete.

Aktuálně je na stránce zobrazeno 6 příspěvků - 1. až 6. (z celkem 6)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti