SQL-lekérdezés generálása AI-val
Az SQL/AI lekérdezés Haladó/AI módja: a varázspálca, jó kérések írása, az eredmény típuskényszerítése, születésnapok és készleten lévő termékkategóriák példája.
Az SQL/AI lekérdezés típusnál adatbázis-lekérdezést (SQL) generáltathatsz AI-val. Így megtalálhatod például azokat a felhasználókat, akik az elmúlt két hétben közzétettek bejegyzést, kiírhatod a készleten lévő termékek kategóriáit, vagy a héten megjelent bejegyzéseket. A kéréseket (prompt) természetes nyelven írod le.

Az SQL/AI lekérdezés beállításai a képen láthatók. A Haladó/AI mód kapcsoló az alapbeállításokat kapcsolja ki, és engedi, hogy az SQL-lekérdezést kézzel vagy AI-val írd meg.
Az AI használatának feltételei
Szekció neve “Az AI használatának feltételei”- Az AI-funkció csak azokra az előfizetésekre érhető el, amelyek tartalmazzák a JetEngine-t. A kérések száma korlátozott, a korlát az azonos licenckulcsot használó összes oldalra együtt vonatkozik, és csak a fő kulccsal működik, a részkulcsokkal nem.
- A generáláshoz a Crocoblock → Licenc oldalon a fő licenckulcsnak aktívnak kell lennie.
- Az AI-val bármelyik nyilvános AI-csevegőből is készíthetsz SQL-t, és bemásolhatod.
- Minden generálás, a példakérések kipróbálása is, egy kérésnek számít, ezért csak átgondolt kéréssel indítsd.
A generálás lépései
Szekció neve “A generálás lépései”- A JetEngine → Lekérdezéskészítő → Új hozzáadása oldalon add meg a nevet, és a Lekérdezés típusa legyen SQL/AI lekérdezés. A leírás és az egyéni lekérdezés-ID opcionális.
- Kapcsold be a Haladó/AI mód kapcsolót.
- Az SQL-lekérdezés szövegmező jobb felső sarkában kattints a varázspálca ikonra. Megnyílik a Generate query with AI ablak, benne a Describe your query mezővel, tippekkel a jó kérés megfogalmazásához és kattintható példakérésekkel.
- Írd le, milyen adatot szeretnél, vagy kattints egy példakérésre, és módosítsd.
- Kattints a Generate query gombra. A folyamat néhány másodperctől egy percig tart.
- A generált SQL a szövegmezőben jelenik meg. Ha másikat szeretnél, új kéréssel kattints a Generate new query gombra.
- Ellenőrizd az SQL-t, majd kattints a Use this query gombra: a lekérdezés bekerül az SQL-lekérdezés mezőbe, ahol tovább szerkesztheted.
- Az Eredmények előnézete kapcsolóval nézd meg az eredményt.
A generált lekérdezés nem mindig pontos, ezért mindig nézd át. Például a WHERE m.meta_key = 'birth_date' sorban a birth_date csak alapértelmezett érték: írd át a saját meta meződ slugjára.
Jó kérés írása
Szekció neve “Jó kérés írása”- Úgy fogalmazz, ahogy az SQL-lekérdezést magad is felépítenéd: bontsd részekre a feladatot.
- A kérés legfeljebb 400 karakter lehet. Minél hosszabb, annál nehezebben érti az AI.
- Említsd meg, melyik tárolási táblát és meta kulcsot használja, ha ismered (például a készletállapot a
_stock_statusmeta kulcsban van). - Ha az aktuális bejegyzés azonosítója kell, írd le, hogy azt a
%current_id%makró adja. - Kérd, hogy csak egyedi kifejezéseket (unique terms) adjon, és az összes adatot a kifejezések táblájából.
Az eredmény típuskényszerítése
Szekció neve “Az eredmény típuskényszerítése”Az Eredmény típuskényszerítése objektumpéldányra beállítás az SQL által visszaadott alapértelmezett PHP-objektumokat (alapértelmezés: stdClass megtartása) alakítja át a kívánt típusra: bejegyzés, felhasználó, kifejezés és így tovább. Ez a bejegyzés- vagy felhasználótípushoz igazított widgeteknél megelőzi a hibákat, és az objektum összes mezőjét elérhetővé teszi.
Példa: a hónap hátralévő születésnapjai
Szekció neve “Példa: a hónap hátralévő születésnapjai”Cél: azok a felhasználók, akiknek a születésnapja az aktuális hónapban a mai napon vagy később van.
- Hozz létre felhasználókhoz kötött meta boxot egy Date típusú mezővel, majd töltsd ki a felhasználóknál.
- Hozz létre SQL/AI lekérdezést, kapcsold be a Haladó/AI módot, és generáld a kéréssel: „Get users who have birthday on current month. Birthday is stored in the meta field with meta key ‘birth_date’. Return only future birthdays and all data from the users table.”
- A generált SQL-ben cseréld a
birth_dateértéket a saját mező slugjára. - Az Eredmény típuskényszerítése objektumpéldányra listában válaszd a User (Felhasználó) értéket.
- Mentsd a lekérdezést.
- A JetEngine → Listázások/komponensek oldalon az Új elem hozzáadása gombbal hozz létre listázási elemet. A forrás Users vagy Query Builder lehet; ha Query Builder, a lekérdezést is meg kell adnod. A Users forrás a sablon szerkesztése közben jobb az előnézethez.
- A sablonban Dynamic Field widgettel jelenítsd meg az adatokat. A WordPress alap felhasználói mezőihez a Post/Term/User/Object Data forrást használd, a JetEngine egyéni mezőihez a Meta Data forrást.
- A születésnap dátuma alapértelmezetten ÉÉÉÉ-HH-NN formátumú (például „1980-04-21”). Csak a nap és a hónap kiírásához kapcsold be a Filter field output kapcsolót, válaszd a Format date callbacket, és a formátum legyen
F j. - A Listing Grid elemben válaszd ki a sablont. Query Builder forrásnál azonnal látszik az eredmény. Users forrásnál a Custom Query fülön kapcsold be a Use Custom Query kapcsolót, és válaszd ki a lekérdezést.
Példa: készleten lévő termékek kategóriái (WooCommerce)
Szekció neve “Példa: készleten lévő termékek kategóriái (WooCommerce)”Követelmény: WooCommerce termékekkel és termékkategóriákkal.
- Hozz létre SQL/AI lekérdezést, és kapcsold be a Haladó/AI módot.
- Használd a kérést: „WooCommerce. Select product categories with products in stock. Product stock status is stored in ‘_stock_status’ meta field. Return only unique terms and all data from terms table.”
- A Use this query gomb után kapcsold be az Eredmények előnézete kapcsolót.
Az eredményben csak négy tulajdonság van (term_id, name, slug, term_group). A Dynamic Field csak ezeket kínálja; a kategória bélyegképe vagy a meta mezők nem érhetők el. Ha az összes mező kell, az Eredmény típuskényszerítése objektumpéldányra listában válaszd a Taxonomy Term értéket.
Összetettebb kérések
Szekció neve “Összetettebb kérések”- „WooCommerce. Select only first-level product categories. Return only unique terms and all data from terms table.” Az eredmény az, amelynek a
parentoszlopa 0. - Az aktuális termék másodszintű kategóriáihoz, például a Ruházat › Női kollekciók › Tavaszi kollekció fából a „Női kollekciók” kapcsán: „WooCommerce. Select only second-level product categories of the current product. The parent product category of the returned product categories should not have a parent category. The ID of the current product is retrieved with %current_id% macro. Return only unique terms and all data from terms table.” A generált SQL-ből az
AND tt.parent != 0;sor törölhető, mert felesleges.
Az eredmény megjelenítése
Szekció neve “Az eredmény megjelenítése”Két módszer van:
- Új sablon Query Builder forrással. A Listázások/komponensek oldalon új sablon, a forrás Query Builder, a lekérdezés az SQL-lekérdezés. Ez kötelező, ha nem használtad a típuskényszerítést. A sablonban a Dynamic Field Post/Term/User/Object Data forrásánál az Object Field listából a „Term name” értéket választva kiírhatod a kategória nevét. A kategória bélyegképéhez Dynamic Image widgetet tegyél be, és a Custom meta field/repeater key mezőbe írd:
thumbnail_id. - Kész sablon a Listing Gridben, típuskényszerített lekérdezéssel.
A Listing Grid ezután a sablont kéri; ha a sablon forrása a Query Builder, a Custom Query fülön nem kell újra megadnod a lekérdezést.
Készült: