# Metamező-típusok

> A JetEngine metamezőinek közös beállításai és az egyes mezőtípusok (szöveg, dátum, kiválasztás, ismétlő, média és más típusok) saját beállításai.

A JetEngine metamezői adatot tárolnak a bejegyzéseknél (alap és egyedi típusoknál), egyedi tartalomtípusoknál (CCT), taxonómiáknál, kapcsolatoknál, felhasználóknál (metaboxban) és beállítási oldalakon.

## Metamező felvétele

1. Nyisd meg a **JetEngine** menüt, és lépj a megfelelő oldalra: **Bejegyzéstípusok**, **Metaboxok**, **Taxonómiák**, **Kapcsolatok** vagy **Beállítási oldalak**.
2. Kattints az **Új hozzáadása** gombra (vagy szerkessz egy meglévő elemet).
3. A **Metamezők** részben (vagy a hasonló nevű fülön) kattints az **Új metamező** gombra.

Az új mező alapértelmezett típusa **Szöveg**.

![Egy új metamező beállításai a metabox űrlapján](./kepek/meta-mezok-uj-metamezo.webp)

*Egy új metamező beállításai a metabox űrlapján* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-meta&cpt_meta_action=add)

## Közös beállítások

Ezek minden mezőtípusnál megvannak:

| Beállítás | Mit csinál |
| --- | --- |
| **Címke** | A mező címe, amelyet a szerkesztő lát. |
| **Név/ID** | A címkéből automatikusan képzett azonosító. Csak latin betűt, számot, kötőjelet (`-`) és aláhúzást (`_`) tartalmazhat, szóköz nem. Ha az azonosító már foglalt, a rendszer véletlen számot fűz hozzá. Az azonos azonosítójú mezők hibát okozhatnak, ezért ügyelj az egyediségére. Ha a címke más írásrendszerű betűket tartalmaz, az automatikus kitöltés átírja latin betűre. |
| **Objektum típusa** | **Mező**: adatot tárol. **Fül**, **Harmonika** és **Végpont**: elrendezési elem, amely csoportosítja a mezőket. A fül vagy harmonika műveletét a **Végpont** zárja le. |
| **Mező típusa** | A mező fajtája (lásd lent). |
| **Leírás** | Rövid szöveg a mező céljáról, a szerkesztőoldalon jelenik meg. |
| **Field Layout** | A címke és a mező elrendezése: **Inline** (egy sorban) vagy **Stacked** (a címke a mező fölött). |
| **Mező szélessége** | 100%, 75%, 66,6%, 50%, 33,3% vagy 25%. Az alapérték 100%. Keskenyebb mezőkkel tömörebb lesz az űrlap. |
| **Karakterkorlát** | A bevihető érték maximális hossza. Üresen hagyva nincs korlát. |
| **Alapértelmezett érték** | A mező előre kitöltött értéke. |
| **Kötelező** | Bekapcsolva a mezőt ki kell tölteni. |
| **Gyorsszerkesztés támogatása** | A mező elérhető lesz a bejegyzéslista **Gyorsszerkesztés** funkciójában, így az érték a bejegyzés megnyitása nélkül módosítható. Figyelem: a gyorsszerkesztéssel megjelenő mezők a metaboxban beállított láthatósági feltételeket figyelmen kívül hagyják. |
| **Változatok támogatása** | A mező elérhető lesz a változatoknál (WooCommerce-termékváltozatokhoz). |
| **Megjelenítés a REST API-ban** | A mező lekérdezhető és frissíthető a WordPress REST API-n keresztül. |
| **Feltételes logika** | A **Feltételes szabályok beállítása** gomb ablakot nyit, ahol szabályokat adsz meg a mező megjelenéséhez (lásd [Feltételes logika](https://hub.hellowp.io/hu/plugins/jet-engine/meta-mezok-feltetelek/)). |

## Elérhető mezőtípusok

A **Mező típusa** listában ezek vannak: **Szöveg**, **Dátum**, **Idő**, **Dátum és idő**, **Szövegmező** (textarea), **WYSIWYG**, **Kapcsoló**, **Jelölőnégyzet**, **Ikonválasztó**, **Média**, **Galéria**, **Választógomb**, **Ismétlő**, **Kiválasztás**, **Szám**, **Színválasztó**, **Bejegyzések**, **Osztályozás (taxonomy)** és **HTML**. Bekapcsolt modulokkal további típusok jelennek meg: a **Dinamikus naptár** modul az **Advanced Date** típust, a **Térképes listák** modul a **Map** típust adja.

### Szöveg és számok

- **Szöveg**: egysoros szöveg kiegészítő információhoz. A **Karakterkorlát** mezőben megadhatod a maximális hosszt. Betűt, számot, speciális karaktert és szóközt is tárol, egyetlen szövegként. Ide írhatsz e-mail-címet, URL-t is.
- **Szövegmező** (textarea): többsoros szöveg. Itt is van **Karakterkorlát**, és a **Field value format** lista azt szabályozza, hogyan tisztítja a rendszer a mentett szöveget: **Raw** (változatlanul, a korábbi viselkedés), **Egyszerű szöveg** vagy **Safe HTML**.
- **WYSIWYG**: egyszerű szerkesztő a mezőben, amellyel a tartalom formázható közvetlenül az admin felületen. Gyakran használják például felhasználói profilokhoz.
- **Szám**: csak számot tartalmazhat, de szövegként kerül az adatbázisba. Saját beállításai: **Minimális érték**, **Maximális érték** és **Lépésköz** (a választható értékek közti távolság). Ha a lépésköz 2, és nincs minimum, a mezőben az 1, 3, 5 stb. érték választható.

A szöveges típusokat a Rank Math és a Yoast SEO eszközeivel SEO-barátossá teheted.

### Képek

- **Média**: médiafájlt ad a bejegyzéshez. Az **Érték formátuma** határozza meg, mi kerül az adatbázisba: **Média ID**, **Média URL** vagy **Média-ID-t és URL-t tartalmazó tömb**. Saját beállítás a **Restrict MIME Types** kapcsoló (alapból ki van kapcsolva): bekapcsolva megjelenik egy mező, ahol kiválaszthatod, milyen típusú fájlt lehet feltölteni.
- **Galéria**: több képet ad a bejegyzéshez vagy termékhez, ugyanazokkal az értékformátumokkal és MIME-korlátozással.

A galéria megjelenítéséhez a frontenden kapcsold be a **Rácsos galéria a Dynamic Field widgethez** és a **Diavetítéses galéria a Dynamic Field widgethez** modult a **JetEngine → JetEngine → Modulok** oldalon.

### Dátum és idő

- **Dátum**: események, találkozók dátumához. A **Mentés időbélyegként** kapcsolóval a dátum időbélyegként tárolódik, így a bejegyzések dátum szerint lekérdezhetők, és a Dynamic Field widget visszahívásával tetszőleges formátumban kiírhatók. Időbélyeg nélkül a dátum `ÉÉÉÉ-HH-NN` formátumban kerül az adatbázisba.
- **Idő**: időpont, `ÓÓ:PP` formátumban tárolva.
- **Dátum és idő**: dátum és idő egy helyen, `ÉÉÉÉ-HH-NN ÓÓ:PP` formátumban. A **Mentés időbélyegként** kapcsoló itt is használható.
- **Advanced Date**: dátumtartomány ismétlődéssel. Csak akkor jelenik meg, ha a **Dinamikus naptár** modul be van kapcsolva. Beállításai: az **Ismétlődés formátuma** (**Recurrent Rule**: szabály szerinti ismétlődés, például napi, havi, éves; **Manually**: egyedi dátumok kézi felvétele) és az **Allow timepicker** kapcsoló (időválasztó mezők az esemény időpontjához). A mező tárolja a kezdő- és a végdátumot, valamint az ismétlődő napokat, és belőle ismétlődő eseményeket listázhatsz.

Lekérdezésben a dátumot makrókkal időbélyegként is visszaadhatod.

### Választás

A **Kapcsoló**, a **Jelölőnégyzet** és a **Választógomb** értékei a `wp_postmeta` táblába kerülnek, a tárolási forma a típustól és a beállításoktól függ.

- **Kapcsoló**: be/ki érték, `true`/`false` formában tárolva. Saját beállítása az **Alapértelmezetten bekapcsolva**.
- **Jelölőnégyzet**: egy vagy több jelölőnégyzet. Egyszeres választásnál az érték szövegként tárolódik (jelölve általában `1` vagy `on`, jelöletlenül hiányzik vagy `0`), többszörös választásnál szerializált tömbként.
- **Választógomb**: egy opció kiválasztása több közül. Az értéket szövegként tárolja.
- **Kiválasztás**: legördülő lista.

A jelölőnégyzetnek, a választógombnak és a kiválasztásnak közös a **Forrás** beállítása, amely megmondja, honnan jönnek az opciók:

| Forrás | Működés |
| --- | --- |
| **Kézi bevitel** | Az opciókat egy gombbal veszed fel; mindegyiknél megadod az adatbázisba kerülő értéket, a szerkesztő által látott címkét, és egy kapcsolóval beállíthatod, hogy az opció alapból bejelölt legyen. |
| **Tömeges kézi bevitel** | Egyetlen szövegmezőbe írod az opciókat, soronként egyet. Formátumok: `érték` (az érték és a címke azonos), `érték::címke`, `érték::címke::checked` (alapból bejelölt). |
| **Szójegyzék** | Az opciók egy [szójegyzékből](https://hub.hellowp.io/hu/plugins/jet-engine/meta-mezok-szojegyzekek/) jönnek. Kiválasztás után a **Szójegyzék** mezőben jelölöd ki a konkrét szójegyzéket. |
| **Osztályozás (taxonomy)** | Az opciók egy taxonómia kifejezései. |
| **Lekérdezéskészítő** | Az opciókat egy Query Builder lekérdezés eredménye adja. |

![A Kiválasztás mező beállításai szójegyzék forrással](./kepek/meta-mezok-select-szojegyzek.webp)

*A Kiválasztás mező beállításai szójegyzék forrással* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-meta&cpt_meta_action=edit&id=meta-1)

A képen egy **Kiválasztás** típusú mező látszik: a **Forrás** **Szójegyzék**, és a **Szójegyzék** mezőben a „Szobatípusok” van kiválasztva.

További beállítások:

- **Jelölőnégyzet**:
  - **Egyéni értékek engedélyezése**: a szerkesztő saját értéket is hozzáadhat a bejegyzéshez, anélkül hogy az bekerülne az alapértelmezett listába. Bekapcsolása után egy újabb kapcsoló jelenik meg, amellyel a bejegyzésszerkesztés közben felvett értékeket a mező opciói közé is elmentheted, így minden bejegyzésnél elérhetők lesznek. Az egyéni értékekkel bejegyzésenként eltérő értékek lehetnek.
  - **Elrendezés**: **Függőleges** vagy **Vízszintes** az opciók elhelyezése.
  - **Mentés tömbként**: ha a mezőt frontend űrlapon szerkeszted, ez a kapcsoló teszi lehetővé az előre kitöltést; bekapcsolva a bejelölt értékek sima PHP-tömbként tárolódnak. Érdemes a mező létrehozásakor bekapcsolni: ha egy már kitöltött mezőnél utólag kapcsolod be, a mező értéke visszaáll, és újra ki kell tölteni.
  - **Gyorsszerkesztés támogatása**: csak akkor működik, ha a **Mentés tömbként** be van kapcsolva.
- **Választógomb**: az **Egyéni értékek engedélyezése**, a **Forrás** és az **Elrendezés** a jelölőnégyzetéhez hasonlóan működik.
- **Kiválasztás**: **Helykitöltő** (a mezőben megjelenő alapszöveg) és **Többes kiválasztás** (több érték egyszerre).

A frontenden csak a kiválasztott elemek jelennek meg. Többszörös kiválasztású mező értékét a Dynamic Field megfelelő visszahívásával lehet kiírni.

### Színek és ikonok

- **Ikonválasztó**: ikont rendel a bejegyzéshez egy ikonkönyvtárból. Az értéket osztálynévként menti (például `dashicons-admin-site` vagy `fa fa-star`). Az **Ikonkönyvtár** listában a **Font Awesome 4** és a **Dashicons** közül választhatsz.
- **Színválasztó**: színválasztó eszköz, az értéket HEX szövegként tárolja. Az **Alfa mód** kapcsolóval átlátszóságot is megadhatsz.

### Ismétlő

Az **Ismétlő** mező ismétlődő, beágyazott mezőket tartalmaz: minden bejegyzéshez annyi blokkot adhatsz, ahányat szeretnél. Az adat JSON-szövegként tárolódik. Beágyazott mezőből bármilyen típus felvehető. A beágyazott mezőket egy gombbal veszed fel; mindegyiknél megadod a címkét, a nevet és a típust. Az ismétlő saját beállításai:

- **Mentés külön mezőkként**: az ismétlő elemeit külön mezőkként menti az adatbázisba.
- **Elrendezés**: **Blokk** vagy **Table**.
- **Összecsukva**: betöltéskor az ismétlő elemei összecsukva jelennek meg.
- **Címmező**: melyik beágyazott mező értéke legyen az egyes elemek címe.

### Térkép, Bejegyzések, HTML

- **Map**: térképet jelenít meg. A tárolt érték a beállított értékformátum szerint lehet a szélességi és hosszúsági fok vesszővel elválasztott szövege, tömb vagy szöveges cím. A térkép megjelenítéséhez API-kulcs szükséges.
- **Bejegyzések**: kapcsolódó bejegyzéseket választhatsz ki. A frontenden a Listing Gridben használt Dynamic Field widget **Related posts list** visszahívásával jelenítheted meg. Beállításai: **Keresés bejegyzéstípusokban** (milyen típusban keres), **Minimális karakterszám a kereséshez** (alapértéke 3) és **Többes kiválasztás**.
- **HTML**: egyéni HTML-kódot jelenít meg a szerkesztőoldalon, például statisztikai adatot. A **HTML-kód** mezőbe kerül a jelölés, a **CSS-osztályok** mezőbe a kívánt osztályok. Az értéke nem kerül az adatbázisba, és a frontenden sem érhető el, csak a vezérlőpulton működik.

## Megjelenítés

A metamezők tartalmát listázásokban és egyedi bejegyzéssablonokban Elementorral, a blokkszerkesztővel vagy Bricksszel jelenítheted meg. A Dynamic Field widget **Forrás** mezőjében válaszd a **Metaadat** értéket, és add meg a mezőt.
