# Lekérdezéskészítő áttekintése

> A Lekérdezéskészítő általános beállításai, a lekérdezéstípusok, a REST API-végpont regisztrálása és az a hely, ahol egy lekérdezést felhasználhatsz.

A **Lekérdezéskészítő** (Query Builder) segítségével az összes elemből feltételek alapján állítasz össze listát. Lekérdezhetsz bejegyzéseket, kifejezéseket (terms), felhasználókat, hozzászólásokat, SQL-táblák adatait, ismétlő mezőket, WooCommerce-termékeket, REST API-n érkező elemeket, egyéni tartalomtípus (CCT) elemeket és értékeléseket. Olyan adatot is megjeleníthetsz vele, amelyet másképp nem tudnál, például az adatbázis saját tábláinak tartalmát.

## A lekérdezések listája

A lista a **JetEngine → Lekérdezéskészítő** oldalon van. Az **Új hozzáadása** gombbal veszel fel új lekérdezést.

![A Lekérdezések listája oldal kereséssel, típus szerinti szűréssel és rendezéssel](./kepek/query-builder-lekerdezes-lista.webp)

*A Lekérdezések listája oldal kereséssel, típus szerinti szűréssel és rendezéssel* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-query)

A lista felett három eszköz van: a **Keresés** mező kulcsszóra szűr, a **Szűrés típus szerint** lista egy lekérdezéstípusra szűkít (egyes típusok csak akkor szerepelnek, ha a hozzájuk tartozó bővítmény aktív), a **Rendezés szerint** lista cím vagy dátum szerint rendez, növekvő vagy csökkenő sorrendben. A **Szűrők törlése** gomb visszaállítja az alapnézetet.

## Általános beállítások

Az új lekérdezés oldalán az **Általános beállítások** blokk közös minden típusnál.

![Az új lekérdezés általános beállításai](./kepek/query-builder-uj-altalanos.webp)

*Az új lekérdezés általános beállításai* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-query&query_action=add)

| Beállítás | Mit csinál | Alapérték |
|---|---|---|
| **Név** | A lekérdezés neve; az admin felületen ez látszik. | üres |
| **Leírás** | Rövid leírás, amely a listában is megjelenik, és segít rendszerezni a lekérdezéseket. | üres |
| **Lekérdezés típusa** | A lekérdezett adat forrása (lásd lent). Ettől függ a lap alsó blokkjának tartalma. | **Bejegyzések lekérdezése** |
| **Egyéni lekérdezés-ID** | Opcionális. A JetSmartFilters szűrőkkel köti össze a lekérdezést: ugyanazt az azonosítót kell megadnod a szűrő **Query Variable** mezőjében és a listázó widget azonosítójában. | üres |
| **Lekérdezés gyorsítótárazása** | A lekérdezés eredményét gyorsítótárazza. Kapcsold ki, ha hibás eredményt kapsz. | bekapcsolva |
| **Gyorsítótár lejárata** | A gyorsítótár lejárati ideje másodpercben. Csak külső objektum-gyorsítótárnál (Redis, Memcached) van értelme; másképp a gyorsítótár egy kérés idejéig él. | üres (0, nincs lejárat) |
| **REST API-végpont regisztrálása** | Nyilvános REST API-végpontot hoz létre a lekérdezés eredményéhez (lásd lent). | kikapcsolva |
| **Eredmények előnézete** | A lap tetején lévő kapcsoló: a lekérdezés eredményét azonnal mutatja jobb oldalon, mentés nélkül. | kikapcsolva |

## REST API-végpont regisztrálása

Ha bekapcsolod a **REST API-végpont regisztrálása** kapcsolót, a lekérdezés adatai távolról is lekérhetők. Ezt használhatod például Make.com-forgatókönyvben, vagy mobilalkalmazás háttereként.

![A bekapcsolt REST API-végpont beállításai](./kepek/query-builder-rest-vegpont.webp)

*A bekapcsolt REST API-végpont beállításai* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-query&query_action=add)

| Beállítás | Mit csinál |
|---|---|
| **Végpont névtere** | A `wp-json` előtag utáni első URL-szegmens. |
| **Végpont útvonala** | A második URL-szegmens, a névtér után. |
| **REST API-végpont URL-je** | A generált cím, a mellette lévő gombbal másolhatod. |
| **Hozzáférés korlátozása** | Ki érheti el a végpontot: bárki (nyilvános), a kiválasztott képességekkel rendelkező felhasználók, vagy a kiválasztott szerepkörű felhasználók. |
| **Hozzáférés szerepkörök szerint** | Szerepkör szerinti korlátozásnál itt választod ki a szerepköröket. |
| **Lekérdezési argumentumok** | A végpont URL-jéhez fűzhető kulcs-érték párok (**Lekérdezési argumentum neve**, **Alapértelmezett érték**). |

Néhány fontos részlet:

- Képesség szerinti korlátozásnál vesszővel elválasztva több képességet is megadhatsz (például `edit_posts`); elég, ha a felhasználónak egy megvan közülük.
- Ha a képesség vagy a szerepkör mezőt üresen hagyod, a végpont senkinek sem érhető el, kivéve ha a kéréssel együtt hitelesítést küldesz (például Application Passwords). Korlátozott végpontnál mindig kell hitelesítés.
- A regisztrált argumentumokat a lekérdezés tényleges paramétereihez is hozzá kell rendelned. Használd a **Query Variable** dinamikus argumentumot, vagy írd a paraméterbe a `%query_var|argument_name%` kifejezést.
- Argumentum felvétele után megjelenik az **Argumentumokkal kiegészített végpont-URL példa** mező, amelyet szintén másolhatsz.

A teljes példa a [REST API-végpont beállítása egyéni lekérdezéshez](https://hub.hellowp.io/hu/plugins/jet-engine/query-builder-rest-vegpont-peldaja/) fejezetben van.

## Lekérdezéstípusok

A **Lekérdezés típusa** lista a helyi felületen ezeket kínálja:

| Típus | Mire jó |
|---|---|
| **Bejegyzések lekérdezése** | Bejegyzések, oldalak, egyéni bejegyzéstípusok kategória, dátum vagy egyéni mező szerint. |
| **Kifejezések lekérdezése** | Kategóriák, címkék, egyéni taxonómiák: címtárakhoz, navigációhoz. |
| **Felhasználók lekérdezése** | Felhasználói adatok, például tagok listája szerepkör vagy meta szerint. |
| **Hozzászólás-lekérdezés** | Hozzászólások vagy értékelések bejegyzés, szerző, állapot szerint. |
| **SQL/AI lekérdezés** | Adatok közvetlenül az adatbázis tábláiból, SQL utasítással. A **Generate with AI** (varázspálca) gomb AI-val készít SQL-t; ez csak ennél a típusnál van. |
| **Ismétlő lekérdezés** | JetEngine vagy ACF ismétlő mező alelemei. |
| **Aktuális WP-lekérdezés** | Az aktuális oldal natív WordPress-lekérdezése módosítás nélkül; archív oldalakon hasznos. |
| **Egyesített lekérdezés** | Két vagy több lekérdezés eredményét egy listává fűzi. |
| **File Query** | JSON-, CSV- vagy XLSX-fájlból olvas adatot; szűrés, rendezés, lapozás és munkalap-választás is van. |
| **Relations Query** | Előre megadott JetEngine kapcsolatok (relations) alapján kapcsolt bejegyzések, felhasználók, kifejezések. |
| **Egyéni tartalomtípus-lekérdezés** | CCT elemek. Csak bekapcsolt Egyéni tartalomtípusok modulnál jelenik meg. |
| **REST API lekérdezés** | Külső végpontok és harmadik fél API-jainak adatai. Csak bekapcsolt REST API-listázások modulnál jelenik meg. |
| **Data Store Query** | Az Adattárolók modul által mentett elemek (kívánságlista, kedvencek, könyvjelzők). |

Más bővítmények további típusokat adnak a listához: a Jet Appointment Booking Query ([időpontfoglalás-lekérdezés](https://hub.hellowp.io/hu/plugins/jet-engine/query-builder-idopontfoglalas-lekerdezes/)), a JetBooking Query (foglalások állapot, dátum, felhasználó szerint), a WC Product Query (WooCommerce-termékek ár, készlet, értékelés, tulajdonság szerint), a JetFormBuilder Records (mentett űrlapbeküldések) és a Jet Reviews Query (értékelések). Ezek csak akkor látszanak, ha a hozzájuk tartozó bővítmény telepítve és aktív.

Az **Egyesített lekérdezésnek** van egy korlátja: nem tud egységes rendezést adni az összefűzött eredményre, mert a forráslekérdezések külön futnak le. Emiatt nem biztos, hogy működik lapozással és a JetSmartFilters Indexerével.

A típus kiválasztása után az alsó blokk a típushoz tartozó beállításokat mutatja.

## Hol használhatsz lekérdezést

| Hely | Hova kell beállítani |
|---|---|
| **Listing Grid** (Elementor, blokkszerkesztő, Bricks) | **Custom Query** fül → **Use Custom Query** kapcsoló, majd a lekérdezés kiválasztása. A régi **Posts Query**, **Terms Query**, **Users Query** és **Content Types Query** fülek elavultak, helyettük ezt használd. |
| **Map Listing** | Ugyanaz a **Custom Query** fül mindhárom szerkesztőben. Például csak a „Szabad” állapotú elemek jelennek meg a térképen. |
| **Dynamic Chart** | A **JetEngine → Charts Builder** oldalon az **Adatlekérdezés** (Data Query) mezőben. Leggyakrabban bejegyzés-lekérdezést használnak. |
| **Dynamic Table** | A **JetEngine → Tables Builder** oldalon az **Adatlekérdezés** mezőben; a szerkesztőben a **Rewrite table query** kapcsolóval és a **New Query** mezővel másik, még nem használt lekérdezést is megadhatsz. |
| **Smart Posts List** és **Smart Posts Tiles** (JetBlog) | **Query & Controls** fül → **Use Custom Query**; saját lekérdezés generátorral vagy kész Lekérdezéskészítő-lekérdezéssel. |
| **Text Ticker** (JetBlog) | **General** fül → **Use Custom Query**, majd a **Select query from JetEngine Query Builder** mező. |
| **Advanced Carousel** (JetElements) | **Slides** fül → **Use JetEngine query**, majd **Select Query**; a kép, cím és leírás mezőkhöz a **Dynamic Tags** gombbal rendelsz egyéni mezőket. |
| **Advanced Map** (JetElements) | **Pins** szakasz → **Use JetEngine query**, majd **Select Query**; a **Pin Address** és **Pin Description** mezőkhöz dinamikus címkével kötsz mezőt. |
| **Query Loop** (Bricks) | A **Query** mezőben a típus „JetEngine Query Builder”, majd a **JetEngine Queries** mezőben a lekérdezés. |

Az egyes felhasználási módok részletes lépései a többi Query Builder fejezetben és a Listázás csoportban találhatók.
