Korlátozott tartalmak modul működése

A Korlátozott tartalmak modul egy egyszerű eszköz, amellyel a WordPress oldalad bármely részét feltételekhez kötheted: pontok, jelvények, szintek vagy sorozatok elérése alapján dönthetsz arról, hogy egy adott felhasználó láthat-e egy szövegrészt, képet, videót vagy akár egy teljes szekciót.
Tartalomjegyzék

Tipikus felhasználási esetek:

  • Prémium tartalom pontokért: „Ez a cikk 500 XP felett érhető el.”
  • VIP zóna: csak az „Aranytagság” jelvénnyel rendelkezők látják.
  • Fokozatos hozzáférés: „Haladó” szinttől olvasható tartalom.
  • Motiváló elrejtés: promóciós szöveg, ami eltűnik, ha a felhasználó már teljesítette a feltételt (pl. „Iratkozz fel a hírlevélre!” eltűnik, ha már feliratkozott).

Hogyan működik?

Shortcode-dal, mint a Catalyst többi főbb modulja, viszont van egy fő különbség:

  • a Catalyst modulok általában egyetlen shortcode-ból olvassák ki, hogy mit kell csinálniuk (például a egy ilyen önálló shortcode egy pontrendszer megjelenítésére),
  • viszont a Korlátozott tartalmak shortcode-ja két blokkból áll, és a kettő közötti tartalmakat rejti el vagy mutatja meg.

A modul tehát úgynevezett wrapping vagy befoglaló shortcode-ot biztosít: 

[catalyst_restrict]

[/catalyst_restrict]

A nyitó és záró shortcode közé bármit tehetsz (a három pötty helyére): más shortcode-ok, formázott szöveg, kép, videó, egyéb blokk-tartalom is működik.

A nyitó shortcode-ba tudsz különböző paramétereket beírni (például feltételeket: HA ez teljesül, AKKOR rejtsd el/mutasd meg). Amikor egy látogató megnyitja az oldalt, a rendszer megnézi, hogy megfelel-e a beállított feltételeknek, és ennek alapján dönti el, hogy megjelenjen-e a tartalom vagy sem.

Fontos alapszabály: nem bejelentkezett látogatók (vendégek) semmilyen módban nem látják a védett tartalmat.

Két működési mód (mode)

Ennek a shortcode-nak az egyik kötelező paramétere a mode paraméter. Itt kell megadnod, hogy ha a beállított feltétel igaz, akkor mutassa vagy elrejtse a tartalmat.

MódMikor jelenik meg a tartalom?
mode=”show” (alapértelmezett)Csak akkor, ha a felhasználó teljesíti a feltételt.
mode="hide"Csak akkor, ha a felhasználó még nem teljesítette a feltételt. Amint teljesíti, a tartalom eltűnik.

Másképpen megfogalmazva:

  • „show” esetén egészen addig rejtve van a tartalom, amíg a feltétel nem teljesül, és utána MUTATJA,
  • „hide” esetén egészen addig mutatja a tartalmat, amíg a feltétel nem teljesül, és utána ELREJTI.

hide módot például akkor érdemes használni, ha egy motiváló üzenetet (pl. „Szerezd meg a Kezdő jelvényt!”) a jelvény megszerzése után el akarsz tüntetni.

Feltételek

Négyféle feltételt állíthatsz be, ezek tetszőlegesen kombinálhatók. Minden feltétel elfogad vesszővel elválasztott listát is, ha egyszerre több elemet szeretnél megkövetelni.

required_points — Pontok

Formátum: "rendszer-slug:összeg"

required_points="gems:500"
required_points="gems:500,karma:100"

Jelentése: „a felhasználó egyenlege az adott pontrendszerben legyen legalább az adott érték”. Több pontrendszer esetén a logic beállítás szabja meg, hogy mindegyik szükséges-e vagy elég egy is.

required_badge — Jelvények

Formátum: jelvény slug (vagy több, vesszővel).

required_badge="vip"
required_badge="vip,aranytag"

Jelentése: „a felhasználó rendelkezzen a megadott jelvénnyel”. Több jelvény esetén a logic beállítás szabja meg, hogy mindegyik szükséges-e vagy elég egy is.

required_level — Szintek

Formátum: "szintrendszer-slug:szint-slug"

required_level="tanulo-utja:halado"

Jelentése: „a felhasználó érje el legalább a megadott szintet”. Fontos: a magasabb szintek is teljesítik a feltételt — tehát ha a példában valaki már „Szakértő” (ami magasabb szint, mint a Haladó), az is látja a „Haladó”-nak korlátozott tartalmat.

required_streak — Sorozatok

Formátum: "sorozat-slug:minimum_darabszám"

required_streak="napi-belepes:7"

Jelentése: „a felhasználó aktuális sorozata (jelenlegi darabszám) legyen legalább a megadott érték”.

Több feltétel kombinálása (logic)

Ha egyszerre több feltételt is beírsz, a logic paraméterrel szabhatod meg, hogyan kombinálódjanak:

ÉrtékJelentés
and (alapértelmezett)Minden feltétel teljesüljön.
orLegalább egy feltétel teljesüljön.

Mi történjen, ha a felhasználó nem fér hozzá? (action)

Ez a beállítás csak mode="show" esetén releváns — hide módban a tartalom egyszerűen eltűnik, ha a feltétel teljesül, egyébként megjelenik.

ÉrtékMit lát a felhasználó?
message (alapértelmezett)Az általad írt message szöveg jelenik meg a tartalom helyén.
hideSemmi — a tartalom helye teljesen üres marad.
teaseA védett tartalom első pár karaktere „ízelítőként” megjelenik (elmosott végződéssel), alatta az üzeneted.
redirectA látogató átirányítódik a redirect_url-re.

Az action="tease" extra beállításai

Ha action="tease" paramétert adsz meg, akkor két további paramétert használhatsz: 

  • tease_length — hány karakter jelenjen meg ízelítőként. Alapértelmezett: 150.
  • tease_blur — legyen-e homályos átmenet az ízelítő alján. Értéke yes (alapértelmezett) vagy no.

Az action="redirect" beállítása

Ha action="redirect" paramétert adsz meg, akkor két további paramétert használhatsz: 

  • redirect_url — a cél URL, ahová a felhasználót át kell irányítani.
  • redirect_button_label — ez lesz a gomb felirata, ami kattintás után átirányít (ha nem adod meg, a gomb felirata „Tovább” lesz)

Ezt érdemes a message="Ide jön az üzeneted" paraméterrel együtt használni, mert ezzel elmagyarázhatod a felhasználónak, miért nem látja az elrejtett dolgokat és mi történik a redirect gomb megnyomása után.

Az összes paraméter egyben

ParaméterÉrtékAlapértelmezett
modeshow / hideshow
required_points"rendszer:összeg" párok, vesszővelüres
required_badgejelvény slug-ok, vesszővelüres
required_level"szintrendszer:szint" pároküres
required_streak"sorozat:darabszám" pároküres
logicand / orand
actionmessage / hide / tease / redirectmessage
messageszöveg vagy HTMLüres
tease_lengthegész szám (karakter)150
tease_bluryes / noyes
redirect_urlteljes URLüres
redirect_button_labelgomb felirat szövegüres

Példák

VIP zóna jelvénnyel:

[[catalyst_restrict required_badge="vip" action="message" message="Ez a szekció csak VIP tagoknak elérhető."]]
<h2>VIP anyagok</h2>
Itt jönnek a különleges tartalmak…
[[/catalyst_restrict]]

Motiváló szöveg, ami eltűnik jelvény megszerzése után:

[[catalyst_restrict mode="hide" required_badge="elso-lepes"]]
👋 Üdv! Kezdd az „Első lépés" jelvény megszerzésével.
[[/catalyst_restrict]]

Fontos részletek

  • Vendégek soha nem látják a védett tartalmat. Ez akkor is igaz, ha nincs feltétel megadva.
  • Bejelentkezett felhasználó, feltétel nélkül = a tartalom mindig látszik. Ha nem adsz meg egy feltételt sem, a shortcode gyakorlatilag „csak bejelentkezettek” kapuvá válik.
  • A slug-ok érzékenyek az elírásra. Ha egy nem létező rendszert vagy jelvényt adsz meg (elgépeled a slug-ot), a feltétel automatikusan hamis lesz, tehát senki nem fér hozzá. Érdemes ellenőrizni a slug-okat az adott modul admin felületén.
  • A szintfeltétel „legalább” logikát használ. Aki magasabb szinten van, mint amit megadtál, szintén hozzáfér — nem kell külön minden magasabb szintre engedélyezni.
  • A shortcode-ok egymásba ágyazhatók. A catalyst_restrict belsejében más shortcode-ok is működnek — így akár lépcsőzetes hozzáférést is építhetsz.
  • HTML az üzenetekben. A message paraméterben biztonságos HTML használható (linkek, félkövér, listák), de scriptek nem — a rendszer szűri a veszélyes tartalmat.

Shortcode használata Elementor, Divi, Avada és egyéb építők esetén

Ha valamilyen vizuális oldalépítőt használsz, akkor a használt shortcode-oknak egy picit módosított változatát kell alkalmaznod:

[catalyst_restrict_start]

[/catalyst_restrict_end]

Ezeknek a shortcode-oknak a működése egyébként pedig megegyezik a fenti shortcode-okkal:

  • minden paraméter ugyanúgy használható,
  • ezeket is párban kell használni (ne felejtsd el a záró shortcode-ot betenni, ahova szeretnéd),
  • a két shortcode közé akármennyi egyéb blokkot betehetsz (például Elementorban Title, Text, Image, Carousel, satöbbi).

Extra lehetőség: JetEngine Dynamic Visibility

Ha Elementoros oldalad van, és használod a JetEngine plugint is, akkor annak a Dynamic Visibility tulajdonságát érdemes bekapcsolnod.

Ez azért jó, mert így Elementor szerkesztőben megnyitva egy adott oldalt, a kiválasztott blokk vagy konténer tulajdonságainál láthatósági feltételt (Dynamic Visibility) tudsz megadni – pont úgy, ahogy a shortcode esetén is megadhatsz minimum pontszámot, adott jelvényeket, minimum szintet, minimum sorozatot.

Példa:

Cache-re figyelj!

Page cache figyelmeztetés: ha az oldaladon full-page cache fut (LiteSpeed Cache, WP Super Cache, W3 Total Cache stb.), az olyan oldalakon, ahol ez a shortcode-pár szerepel, a cache-t ki kell zárni, vagy felhasználónkénti cache-t kell beállítani. Ellenkező esetben a cache-elt verzió az első látogató jogosultsága alapján jelenik meg mindenki számára. Ez minden tartalomkorlátozó megoldás közös sajátossága.

A modulból származó triggerek

Ez a modul nem hoz létre triggereket.