# Elérhetőségek elrejtése fizetésig

> Kapcsolati adatok csak fizetés után látszanak: felhasználói metamezők, két listázási sablon, JetFormBuilder űrlap és Dinamikus láthatóság.

Tagsági webhelyeken gyakori, hogy a szolgáltató elérhetőségét (e-mail, telefon) csak az látja, aki fizetett. Ez a fejezet azt írja le, hogyan készíthetsz ilyen megoldást a JetEngine Dinamikus láthatóság modulja és egy JetFormBuilder űrlap fizetési kapuval.

Az Elementor szerkesztőn alapuló példa feltételei: a JetEngine **Dinamikus láthatóság** modulja be van kapcsolva (lásd: [Dinamikus láthatóság](https://hub.hellowp.io/hu/plugins/jet-engine/dinamikus-tartalom-lathatosag/)), és van egy JetFormBuilder űrlap működő fizetési kapuval. Magát az űrlapot és a fizetési kaput itt nem kell újra beállítani.

## Felhasználói metamezők

Először hozz létre metamezőket a felhasználókhoz egy metaboxban (lásd: [Metaboxok felhasználókhoz](https://hub.hellowp.io/hu/plugins/jet-engine/meta-mezok-felhasznalok/)). A példában van egy e-mail-cím és egy telefonszám mező, plusz még egy **Text** típusú mező, amely arra szolgál, hogy megkülönböztesd a fizetett felhasználókat. Ez itt a `payment_checker`.

## Két listázási sablon

Két listázási sablonra van szükség a felhasználók tartalmához:

1. **A korlátozott tartalmú sablon** azoknak, akik nem fizettek. A tartalom egy része csillaggal (`*`) takart. A példában ez egy statikus **Heading** widget, amelybe az elérhetőség csillagozott változata került, alatta egy gomb, amely fizetésre hív.
2. **A teljes tartalmú sablon** azoknak, akik már fizettek. Itt a metamezőket a **Dynamic Field** widgettel (vagy bármely más, metamezőt kezelő elemmel) jeleníted meg.

A fizetésre hívó gombot kösd egy előugró ablakhoz, amely a JetFormBuilder űrlapot tartalmazza. Mindkét sablont frissítsd.

## Az űrlap beállítása

Az űrlapon, amely a fizetési oldalra továbbít, a következőt kell megoldani: sikeres fizetés után a felhasználó `payment_checker` mezőjébe érték kerüljön.

1. Vegyél fel az űrlapra egy **Hidden Field** mezőt kézi értékkel, például `checked`.
2. Állíts be egy beküldés utáni műveletet (felhasználó frissítése, „Update User”), amely ezt az értéket a felhasználó `payment_checker` metamezőjébe írja (a mezőleképezésnél).

A sikeres beküldés és fizetés után a felhasználó metamezőjében megjelenik a `checked` érték.

## Dinamikus láthatóság

Végül szabályozd a két listázást a látogató mezője szerint. Az oldalszerkesztőben a Listing Grid widgetek **Dinamikus láthatóság** beállításainál:

- A **korlátozott** tartalmat akkor mutasd, ha a felhasználó `payment_checker` mezője nem egyezik a `checked` értékkel (vagy nem létezik).
- A **teljes** tartalmat akkor mutasd, ha a `payment_checker` mező értéke `checked`.

A feltételek és mezők beállítása megegyezik a [Dinamikus láthatóság](https://hub.hellowp.io/hu/plugins/jet-engine/dinamikus-tartalom-lathatosag/) fejezetben leírtakkal. A felhasználó metamezőjét vizsgáló **User meta is** feltétel az **Egyéni láthatósági feltételek** külső modul bekapcsolása után érhető el.

Ennyi az egész: aki fizetett, látja az elérhetőséget, aki nem, annak csak a takart verziót és a fizetésre hívó gombot mutatja az oldal.
