# Metamezők leképezése: ACF, Meta Box és JetEngine

> Egyéni mezők (metamezők) hozzárendelése a bejegyzés-űrlap mezőihez metakulcsokkal, ACF, Meta Box és JetEngine használatával.

A bejegyzések a címen és a tartalmon kívül további adatokat is tárolhatnak: ezek a metamezők (egyéni mezők). A bejegyzés-feedben az űrlapmezők értékét a metamezőkhöz rendelheted, így a beküldött adat a bejegyzés egyéni mezőjébe kerül. Ehhez a Pro-ban a **Post/CPT** modul bekapcsolva kell legyen, és az űrlap bejegyzés-űrlap legyen.

![A bejegyzés-feed beállításai a metamezők leképezésével](./kepek/mezok-5-bejegyzes-feed.webp)

*A bejegyzés-feed beállításai a metamezők leképezésével* (https://minta-bolt.hu/wp-admin/admin.php?page=fluent_forms&form_id=5&route=settings&sub_route=form_settings)

A képen a feed alsó része a **Meta mezők leképezése** résszel és a **Metamező hozzáadása** gombbal látható. Ha még nincs hozzárendelés, egy üres sor jelzi ezt.

## Metamezők leképezése metakulccsal

Az egyéni mezőket létrehozhatod például az Advanced Custom Fields (ACF) bővítménnyel, és a feedben a metakulcsukkal rendelheted az űrlapmezőkhöz.

### Bejegyzés-űrlap

1. Hozz létre egy bejegyzés-űrlapot, vagy használj egy meglévőt. A mezőcsoport típusa legyen bejegyzéstípus (post type).
2. Az űrlapon lehetnek például: bejegyzés címe, bejegyzés tartalma, kategóriák, egyszerű szöveg, numerikus mező.
3. Hozz létre egyéni mezőket egy bővítménnyel (például ACF), és másold ki a mezők nevét (a metakulcsot).
4. Az űrlapszerkesztőben nyisd meg a **Beállítások és integrációk → Bejegyzés-feedek** részt, és nyisd meg a feedet vagy hozz létre újat.
5. A **Meta mezők leképezése** résznél kattints a **Metamező hozzáadása** gombra, és illeszd be a kimásolt metakulcsot, mellé válaszd ki az űrlapmezőt.
6. Előbb rendeld hozzá a szabványos bejegyzésmezőket (cím, tartalom) a **Bejegyzés mezőinek leképezése** résznél, és csak utána add hozzá az egyéni metamezőket.
7. Kattints a **Save Feed** gombra, majd töltsd ki és küldd be az űrlapot.
8. Ellenőrzésként nyisd meg a WordPress **Bejegyzések** oldalát, keresd meg az új bejegyzést, és nézd meg, hogy a cím, a szerző és a többi érték a helyén van.

### Termék-űrlap

A termék-űrlap ugyanígy működik, csak a termékhez tartozó mezők kerülnek az űrlapra: cím, tartalom, ár és termékállapot. A metamezők leképezése megegyezik a fenti lépésekkel: másold ki a metakulcsokat, add hozzá őket a **Metamező hozzáadása** gombbal a feedben, majd mentsd a feedet. Beküldés után a **Bejegyzések** oldalon ellenőrizd, hogy a termék címe és állapota helyesen jelent meg.

## ACF egyéni mező bejegyzés-űrlapban

Az ACF-integráció csak Fluent Forms bejegyzés-űrlappal működik. Az alábbi példában egy „Bejegyzés ellenőrzője” nevű szöveges mezőt adunk a bejegyzéshez.

### 1. Az ACF telepítése

1. A WordPress menüben válaszd a **Bővítmények → Bővítmény hozzáadása** pontot.
2. Keresd meg az Advanced Custom Fields bővítményt.
3. Kattints a **Telepítés**, majd az **Aktiválás** gombra.

### 2. Egyéni mező létrehozása ACF-ben

1. Az ACF menüjében nyisd meg a mezőcsoportokat, és kattints az új hozzáadására.
2. Adj a csoportnak olyan címet, amelyről később felismered.
3. A **Fields** (mezők) részben válaszd ki a mező típusát (a példában szöveg), add meg a mező címkéjét és a mező nevét (ez a metakulcs). Megadhatsz alapértéket is, és több mezőt is hozzáadhatsz.
4. A **Settings** (beállítások) részben a helyszín szabályával add meg, melyik bejegyzéstípusnál jelenjen meg a mező (a példában: Post).
5. Mentsd a változtatásokat.

### 3. A mező az űrlapon

1. Nyisd meg a bejegyzés-űrlapot a szerkesztőben. A **Post Title** és **Post Content** mező már rajta van.
2. A **Beviteli mezők** panel **Általános mezők** csoportjából add hozzá a megfelelő mezőt. A példában ez a **Szövegterület**.
3. A mezőtípus legyen kompatibilis az ACF-mező típusával: szöveges ACF-mezőhöz szöveges űrlapmező való.

### 4. A feed beállítása

1. Nyisd meg a **Beállítások és integrációk → Bejegyzés-feedek** részt, és a beállítás ikonnal a meglévő feedet. Ha még nincs, kattints a **Bejegyzés-feed hozzáadása** gombra.
2. Görgess a metamezők leképezéséhez. Ha az ACF aktív, megjelenik az **ACF Plugin Mapping** rész, két csoporttal: általános mezők (General Fields) és haladó mezők (Advanced Fields).
3. A példában szöveges, általános mezőről van szó, ezért az általános mezők alatt rendeld hozzá a szövegterület mezőt.
4. Több általános mezőt az **+Add Another General Field** gombbal adhatsz hozzá, a keresztre kattintva törölhetsz egyet.
5. Minden ACF-mezőt a feedben a neki megfelelő űrlapmezőhöz rendelj.
6. Kattints a **Save Feed** gombra.

Ezután az űrlapon a hozzáadott mezőt a többi mezőhöz hasonlóan testre szabhatod a ceruza ikonnal. Mentsd az űrlapot a **Save Form** gombbal, az **Előnézet és tervezés** gombbal nézd meg, és a rövidkódot másold be egy oldalra vagy bejegyzésbe.

## Meta Box egyéni mezők

A Meta Box bővítmény ingyenes, Gutenberg- és GDPR-kompatibilis egyéni mező keretrendszer. A Fluent Forms integrálható vele.

### Szükséges bővítmények

- A **Meta Box** és a **Meta Box Builder** bővítmény aktívan, az egyéni mezők létrehozásához.
- A **CMB2** bővítmény is legyen telepítve az egyéni mezők építéséhez.

### Mezőcsoport létrehozása a Meta Boxban

1. A Meta Box oldalán kattints az új mezőcsoport hozzáadására.
2. Adj a csoportnak címet, majd kattints a **+Add Fields** gombra.
3. Görgess a megfelelő mezőtípushoz, vagy keress rá a kereső mezőben.
4. Minden mezőnek két füle van: **General** és **Advanced**.

**General** fül:

| Beállítás | Mit csinál |
| --- | --- |
| **Label** | A mező felirata, amit a felhasználó lát. |
| **ID** | A mező egyedi azonosítója, háttérhivatkozáshoz vagy egyéni integrációkhoz. |
| **Type** | A mező adattípusa. |
| **Label Description** | Elhagyható leírás a felirathoz. |
| **Input Description** | Útmutató a kitöltéshez. |
| **Default Value** | Előre kitöltött érték. |
| **Placeholder** | Az üres mezőben látszó szöveg. |
| **Size of the Input Box** | A beviteli mező szélessége. |
| **Required** | Kötelezővé teszi a mezőt. |
| **Disabled** | Megakadályozza, hogy a felhasználó beírjon a mezőbe. |
| **Read-Only** | A mező értéke látszik, de nem szerkeszthető. |
| **Prepend Text** | Rögzített szöveg a mező elején. |
| **Append Text** | Rögzített szöveg a mező végén. |
| **Cloneable** | Engedélyezi a mező többszörözését. |

**Advanced** fül:

| Beállítás | Mit csinál |
| --- | --- |
| **Before** | Szöveg vagy HTML a mező előtt. |
| **After** | Szöveg vagy HTML a mező után, például útmutató. |
| **Custom CSS Class** | Egyéni CSS-osztály a mező formázásához. |
| **Custom Sanitize Callback** | Egyéni függvény a bevitt adat tisztítására. |
| **Save the Field** | Ki- és bekapcsolja a mező értékének mentését az adatbázisba. |
| **Custom HTML5 attributes** | Egyéni HTML5-attribútumok az **+Add New** gombbal. |
| **Validation** | Szabályok a beküldés előtti ellenőrzéshez, például engedélyezett e-mail-domain. |
| **Custom Settings** | További beállítások az **+Add New** gombbal. |

Kattints a **Publish** gombra a mezők mentéséhez.

Az **Settings** résznél a mezőcsoport helyét állíthatod be:

| Beállítás | Mit csinál |
| --- | --- |
| **Location** | Hol jelenjenek meg a csoport mezői, például bejegyzéseknél és oldalaknál. |
| **Position** | **After Content** (a tartalom után) vagy **Side** (oldalsáv). |
| **Priority** | **High** (magas) vagy **Low** (alacsony). |
| **Style** | A szokásos WordPress metabox-stílus, vagy stílus nélkül. |

Végül kattints az **Update** vagy **Publish** gombra.

### A Post/CPT modul bekapcsolása

1. A Fluent Forms menüjében nyisd meg az **Integrációk** oldalt.
2. Keress rá a **Post/CPT** modulra a keresőben, és kapcsold be.
3. Válassz egy meglévő bejegyzés-űrlapot, vagy hozz létre újat.

### Leképezés a feedben

1. Az űrlap **Beállítások és integrációk → Bejegyzés-feedek** részében kattints a feed hozzáadására.
2. Töltsd ki a feed beállításait:

| Beállítás | Mit csinál |
| --- | --- |
| **Feed neve** | A feed egyedi neve. |
| **Beküldés típusa** | **Új bejegyzés** új bejegyzést hoz létre, **Bejegyzés frissítése** meglévőt módosít. |
| **Allow Logged out user to create posts** | Ha be van jelölve, a kijelentkezett látogatók is küldhetnek be bejegyzést; ha nem, csak a bejelentkezettek. |
| **Bejegyzés állapota** | **Draft** (piszkozat, kézi átnézéshez), **Publish** (azonnal élesedik) vagy **Pending Review** (admin jóváhagyásra vár). |
| **Hozzászólás állapota** | **Open** (a látogatók hozzászólhatnak) vagy **Closed** (a hozzászólás tiltva). |
| **Bejegyzés formátuma** | A tartalom típusa szerint, például Standard, Gallery vagy Video. |

3. A **Bejegyzés mezőinek leképezése** résznél rendeld a bejegyzés címét (**Post Title**), tartalmát (**Post Content**) és szükség esetén kivonatát (**Post Excerpt**) az űrlapmezőkhöz. A kategóriák, címkék és a kiemelt kép az űrlapmezők alapján magától leképeződik.
4. Görgess a **Meta Box Plugin Mapping** részhez. A haladó mezők (Advanced Fields) alatt a bal oldali listából válaszd ki a Meta Box mezőjét, a jobb oldaliból pedig a hozzá tartozó űrlapmezőt.
5. Ha a bejegyzés létrehozását feltételhez szeretnéd kötni, kapcsold be a **Feltételes logika engedélyezése** jelölőnégyzetet.
6. Kattints a **Save Feed** gombra.

Próbáld ki az űrlapot az előnézeten: töltsd ki, majd küldd be. A **Bejegyzések** oldalon nyisd meg a létrejött bejegyzést szerkesztésre: ott látod a Meta Box egyéni mezőt a beküldött értékkel.

## JetEngine egyéni mezők

A Fluent Forms együtt tud működni a JetEngine bővítménnyel. A JetEngine egy fizetős bővítmény, amelyet előbb telepítened kell.

1. **A Post/CPT modul bekapcsolása.** A Fluent Forms Pro menüben nyisd meg az **Integrációk** oldalt, keresd meg a **Post/CPT** modult, és kapcsold be.
2. **Metabox létrehozása.** A WordPress menüben a JetEngine alatt válaszd a **Meta Boxes** pontot, és kattints az **Add New** gombra.
3. **Metabox beállítása.** Az általános beállításoknál add meg a metabox címét és típusát. A láthatósági feltételeknél (Visibility Conditions) az **Enable for Post Types** alatt válaszd a **Post** típust, hogy az egyéni mezők a bejegyzéseknél jelenjenek meg.
4. **Egyéni mezők létrehozása.** A Meta Field részben adj meg címkét (a névazonosító ebből magától készül), és válaszd ki a mező típusát (szöveg, szám, dátum stb.). Kattints az **Update Meta Box** gombra.
5. **Bejegyzés-űrlap létrehozása.** A Fluent Forms **Űrlapok** oldalán kattints az **Új űrlap hozzáadása** gombra, válaszd a bejegyzés-űrlap lehetőséget (**Create a Post Form**), majd a legördülő listából a bejegyzéstípust, és kattints a **Continue** gombra.
6. **Feed hozzáadása.** A szerkesztőben szabd testre az űrlapot, kattints a **Beállítások és integrációk** fülre, a bal menüben válaszd a **Bejegyzés-feedek** pontot, és a **Bejegyzés-feed hozzáadása** gombot.
7. **Leképezés.** Adj nevet a feednek. A **JetEngine Meta Mapping** részben rendeld a JetEngine mezőit a megfelelő űrlapmezőkhöz. A hárompontos gombbal intelligens kódot (SmartCode) szúrhatsz be: ha például a „Munkakör” egyéni mezőt a bejegyzés címével akarod kitölteni, az **Űrlapmező értéke** mezőben válaszd az `input.post.title` kódot.
8. További mezőhöz kattints az **Add Another General Field** gombra, majd a **Save Feed** gombra, és küldj be egy próbabejegyzést.

A beküldés után a létrejött bejegyzésen megjelenik az egyéni metamező a beküldött értékkel.
