Tovább a tartalomhoz

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.

https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-query&query_action=add
Az SQL/AI lekérdezés beállításai: Haladó/AI mód, tábla, Join, Where, rendezés, limit, oszlopok

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-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.
  1. 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.
  2. Kapcsold be a Haladó/AI mód kapcsolót.
  3. 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.
  4. Írd le, milyen adatot szeretnél, vagy kattints egy példakérésre, és módosítsd.
  5. Kattints a Generate query gombra. A folyamat néhány másodperctől egy percig tart.
  6. 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.
  7. 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.
  8. 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.

  • Ú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_status meta 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 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.

  1. 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.
  2. 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.”
  3. A generált SQL-ben cseréld a birth_date értéket a saját mező slugjára.
  4. Az Eredmény típuskényszerítése objektumpéldányra listában válaszd a User (Felhasználó) értéket.
  5. Mentsd a lekérdezést.
  6. 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.
  7. 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.
  8. 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.
  9. 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.

  1. Hozz létre SQL/AI lekérdezést, és kapcsold be a Haladó/AI módot.
  2. 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.”
  3. 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.

  • „WooCommerce. Select only first-level product categories. Return only unique terms and all data from terms table.” Az eredmény az, amelynek a parent oszlopa 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.

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:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások