Makrók a Lekérdezéskészítőben
A makrók alapjai és a leggyakoribb felhasználásuk a Lekérdezéskészítőben: kapcsolódó bejegyzések, kereső, szerzők, adattárak, tartalékérték és a lekérdezés alkalmazása a Listing Griden.
A makrók a dinamikus weboldal alapjai. A JetEngine a különböző moduljaihoz, például az űrlapokhoz, a kapcsolatokhoz és a Dinamikus láthatósághoz is ad makrókat. Itt a Lekérdezéskészítő (Query Builder) makróit nézzük meg, a leggyakoribb felhasználási esetekkel: bejegyzések megjelenítése a taxonómia archívumoldalán, keresési találatok, az aktuális bejegyzés metaértéke szerinti lekérdezés, a szerző bejegyzései a fiókoldalon és más példák. Az összes makró listáját a Makrók útmutatója tartalmazza.
A makrók alapjai
Szekció neve “A makrók alapjai”A makró egy szövegrész, amelyet a rendszer a makró céljától függő értékre cserél: olyan változó, amely a környezettől függően mást ad vissza. A %current_id% makró például az aktuális objektum azonosítóját adja. Egy bejegyzés oldalán ez a bejegyzés azonosítója.
Tegyük fel, hogy az aktuális bejegyzést szeretnéd megjeleníteni a lekérdezés találatai között. Mivel bejegyzéseket kérdezel le, Bejegyzések lekérdezése (Posts Query) típusú lekérdezést készítesz. A Bejegyzés és oldal fül Post In mezője bejegyzésazonosítót vár. Ha ide a Current ID makrót teszed, és egy bejegyzés nézetében előnézed az eredményt, a találatok között éppen az adott bejegyzést látod. Például a „Light Show” bejegyzés azonosítója 316; kézzel is beírhatnád a 316-ot, de a dinamikus megoldás nem kényszerít arra, hogy minden bejegyzéshez külön lekérdezést hozz létre.
A Current ID makrót más olyan egyedi lekérdezési mezőkben is használhatod, amelyek bejegyzésazonosítót támogatnak.
Nem minden makró egyetlen azonosítót ad vissza. Egyesek vesszővel elválasztott azonosítólistát: a Current Terms makró például az aktuális bejegyzés kifejezéseinek azonosítóit („2234, 2342, 4958”). Mások más típusú értéket adnak.
Egyéni lekérdezés létrehozása
Szekció neve “Egyéni lekérdezés létrehozása”A makrók használatához előbb hozz létre egyéni lekérdezést: JetEngine → Lekérdezéskészítő → Új hozzáadása.

A képen a Lekérdezés típusa lista és az alatta megjelenő, a típushoz tartozó beállítások láthatók. A típus attól függ, mit kérdezel le: bejegyzéseket a Bejegyzések lekérdezése, felhasználókat a Felhasználók lekérdezése, és így tovább (kifejezések, hozzászólások stb.). A típus azt is meghatározza, milyen objektumok lesznek a találatok.
A lekérdezés beállításainak minden mezőjénél leírás áll arról, mit kell beírni. A legtöbb mező támogatja a makrókat, de úgy használd őket, hogy a makró visszatérési értéke megfeleljen a mező céljának.
Fontos: a Lekérdezéskészítő mezői nem támogatják a kézzel beírt makrókat. A %current_id% szöveget ne gépeld be, hanem kattints a mező melletti adatbázis ikonra, és válaszd ki a Current ID makrót a megjelenő listából.
Felhasználási esetek
Szekció neve “Felhasználási esetek”Az aktuális bejegyzés megjelenítése vagy kizárása
Szekció neve “Az aktuális bejegyzés megjelenítése vagy kizárása”Az aktuális bejegyzés azonosítóját a Current ID makró adja. Segítségével csak az aktuális bejegyzést mutathatod egy olyan widgetben, blokkban vagy elemben, amely támogatja az egyéni JetEngine-lekérdezést (például egy Map Listing térképén).
- Hozz létre egy Bejegyzések lekérdezése lekérdezést.
- Az Általános fülön add meg a Bejegyzés típusa értékét.
- A Bejegyzés és oldal fülön tedd a Current ID makrót a Post In mezőbe.
Ha az aktuális bejegyzést ki kell zárni a találatokból, a makrót a Post Not In mezőbe tedd.
A lekérdezés mentése után hozz létre listázási sablont ugyanahhoz a bejegyzéstípushoz, és jeleníts meg listázást az egyedi bejegyzés oldalán a Listing Grid elemmel. A lekérdezést a A lekérdezés alkalmazása résznél leírtak szerint alkalmazd.
Bejegyzések a taxonómia archívumoldalán
Szekció neve “Bejegyzések a taxonómia archívumoldalán”Az aktuális kifejezés szerinti lekérdezéshez a Queried term makrót használd: a kifejezés azonosítóját adja, és a Taxonómiai lekérdezés fülön alkalmazható az archívumoldalakon.
- Hozz létre Bejegyzések lekérdezése lekérdezést, és az Általános fülön add meg a bejegyzéstípust.
- A Taxonómiai lekérdezés fülön nyomd meg az Add new gombot egy új feltételhez.
- Az új tételben állítsd be:
- a szükséges Taxonomy (taxonómia) értéket;
- a Field listában a Term ID értéket, mert az aktuális kifejezés azonosítóját a taxonómia kifejezéseinek azonosítóihoz hasonlítod;
- a Terms mezőben a Queried term makrót, amely az aktuális kifejezés azonosítóját adja;
- a Compare operátornál az IN értéket.
- Mentsd a lekérdezést.
Ez az egyéni lekérdezés a Listing Grid beállításainál található Use as Archive Template kapcsoló helyett használható. Azt is lehetővé teszi, hogy az archívumoldalon a bejegyzéseket bejegyzéstípusonként külön válaszd: minden megjelenítendő típushoz készíts újabb lekérdezést.
Kifejezés szerint kapcsolódó bejegyzések az egyedi oldalon
Szekció neve “Kifejezés szerint kapcsolódó bejegyzések az egyedi oldalon”Az aktuális bejegyzés kifejezéseihez kapcsolódó bejegyzésekhez a Current terms makró kell. Az aktuális bejegyzéshez tartozó kifejezések azonosítóinak listáját adja.
- Hozz létre Bejegyzések lekérdezése lekérdezést, és az Általános fülön add meg a bejegyzéstípust.
- A Taxonómiai lekérdezés fülön adj hozzá új feltételt (Add new).
- Állítsd be:
- a szükséges Taxonomy értéket;
- a Field listában a Term ID értéket;
- a Terms mezőben a Current terms makrót; a beállításaiban válaszd ki ugyanazt a taxonómiát, mint az első mezőben;
- a Compare operátornál az IN értéket.
- Az aktuális bejegyzés kizárásához a Bejegyzés és oldal → Post Not In mezőbe tedd a Current ID makrót.
- Mentsd a lekérdezést, hozz létre listázási sablont ugyanahhoz a bejegyzéstípushoz, és jeleníts meg listázást az egyedi oldalon a Listing Grid elemmel.
Bejegyzések a keresési találatok oldalán
Szekció neve “Bejegyzések a keresési találatok oldalán”A Query Variable makróval a keresési találatok oldalán jeleníthetsz meg bejegyzéseket.
- Hozz létre Bejegyzések lekérdezése lekérdezést, és az Általános fülön add meg a bejegyzéstípust.
- A Keresési kulcsszó mezőben válaszd a Query Variable makrót, és a Variable Name értéke legyen
s.
Ha valaki a „light” szóra keres, a lekérdezés az adott bejegyzéstípus azon bejegyzéseit adja, amelyeknek a címében, tartalmában vagy kivonatában szerepel a szó. Ezt a lekérdezést a keresési találatok archívumsablonjának Listing Grid elemén alkalmazva a lista a keresett kulcsszóhoz igazodik. Az egyéni lekérdezés a JetSearch bővítmény AJAX-os keresését is támogatja.
Bejegyzések az aktuális bejegyzéssel azonos metaértékkel
Szekció neve “Bejegyzések az aktuális bejegyzéssel azonos metaértékkel”A Current meta value makróval azokat a bejegyzéseket jelenítheted meg, amelyeknek egy bizonyos metamezőjében ugyanaz az érték van, mint az aktuális bejegyzésében.
Példa: a „Properties” (ingatlanok) egyedi bejegyzéstípusban van egy „Hot deals” (kedvezményes ajánlat) nevű Rádió metamező „yes” és „no” értékkel. Az egyedi ingatlanoldalon azokat a további ingatlanokat akarod megjeleníteni, amelyeknél ugyanaz az érték van kiválasztva, mint az aktuálisnál, például a „Rainforest Guest House” bejegyzésnél a „yes”. Az aktuális bejegyzést ki kell zárni a találatokból.
- Hozz létre Bejegyzések lekérdezése lekérdezést, és az Általános fülön add meg a bejegyzéstípust („Properties”).
- A Meta lekérdezés fülön adj hozzá új meta feltételt.
- Az új tételben:
- a Field key/name mezőnél kattints az adatbázis ikonra, válaszd a JetEngine meta field makrót, a felugró ablakban válaszd ki a metamezőt, a Return listában pedig a Field name/key/ID értéket, majd kattints az Apply gombra;
- a Compare mezőben válaszd az Equal (=) értéket;
- a Value mezőnél kattints az adatbázis ikonra, válaszd a Current meta value makrót, a felugró ablakban add meg a Meta field key értéket (a metamező Name/ID mezőjéből másolhatod), majd kattints az Apply gombra.
- Az aktuális bejegyzés kizárásához a Bejegyzés és oldal → Post Not In mezőbe tedd a Current ID makrót.
- Mentsd a lekérdezést, hozz létre listázási sablont ugyanahhoz a bejegyzéstípushoz, és jeleníts meg listázást az egyedi oldalon a Listing Grid elemmel.
A Current meta value az aktuális bejegyzés megadott metamezőjének értékét adja. A meta feltétel beállításai szerint ezt hasonlítja a többi bejegyzés ugyanazon mezőinek értékéhez, így azokat a bejegyzéseket kapod, amelyeknek ugyanaz az értéke.
A „Posts” metamezőben kiválasztott bejegyzések
Szekció neve “A „Posts” metamezőben kiválasztott bejegyzések”A Current meta value as string makróval az aktuális bejegyzés Posts metamezőjében kiválasztott bejegyzéseket jelenítheted meg. Ha a Posts mezőnél a Multiple beállítás be van kapcsolva, az érték tömbként mentődik; a makró szöveggé alakítja, és így a Lekérdezéskészítőben is használható.
- Hozz létre Bejegyzések lekérdezése lekérdezést, és az Általános fülön add meg ugyanazt a bejegyzéstípust, mint a Posts metamező beállításainál.
- A Bejegyzés és oldal fülön kattints a Post In mező adatbázis ikonjára, és válaszd a Current meta value as string makrót.
- A felugró ablakban add meg a Meta field key értéket (a mező Name/ID mezőjéből másolhatod), kattints az Apply gombra, és mentsd a lekérdezést.
- Hozz létre listázási sablont arra a bejegyzéstípusra, amelyet a Posts mező beállításainál kiválasztottál, és jeleníts meg listázást az egyedi oldalon a Listing Grid elemmel.
A felhasználó saját bejegyzései a fiókoldalon
Szekció neve “A felhasználó saját bejegyzései a fiókoldalon”A Current user ID makróval a bejelentkezett felhasználó saját bejegyzéseit kérdezheted le.
- Hozz létre Bejegyzések lekérdezése lekérdezést, és az Általános fülön add meg a bejegyzéstípust.
- A lekérdezés Szerző fülén az Author ID mezőbe tedd a Current user ID makrót.
A makró a bejelentkezett felhasználó azonosítóját adja, ezért a lekérdezés a fiókoldalon jeleníti meg a saját bejegyzéseket. A használathoz hozz létre listázási sablont ugyanahhoz a bejegyzéstípushoz, tedd a Listing Grid elemet a fiókoldalra, válaszd ki a listázást, és alkalmazd a lekérdezést.
A szerző bejegyzései a nyilvános profiloldalon
Szekció neve “A szerző bejegyzései a nyilvános profiloldalon”A Queried user ID makró a Profilkészítő moduljával létrehozott nyilvános profiloldalon megjelenített felhasználó azonosítóját adja.
- Hozz létre Bejegyzések lekérdezése lekérdezést, és az Általános fülön add meg a bejegyzéstípust.
- A Szerző fülön az Author ID mezőbe tedd a Queried user ID makrót.
A lekérdezés használatához hozz létre listázási sablont ugyanahhoz a bejegyzéstípushoz, tedd a Listing Grid elemet a nyilvános profiloldalhoz tartozó sablonra, válaszd ki a listázást, és alkalmazd a lekérdezést.
Az aktuális bejegyzés szerzője
Szekció neve “Az aktuális bejegyzés szerzője”- Hozz létre Felhasználók lekérdezése lekérdezést.
- Az Include/Exclude → Include mezőbe tedd a Post Author ID makrót.
Az egyedi bejegyzésoldalon a lekérdezés a bejegyzés szerzőjét adja vissza. A használathoz hozz létre listázási sablont a felhasználóknak, tedd a Listing Grid elemet az egyedi bejegyzés oldalára vagy sablonjára, válaszd ki a listázást, és alkalmazd a lekérdezést.
Az aktuális bejegyzéshez tartozó kifejezések
Szekció neve “Az aktuális bejegyzéshez tartozó kifejezések”A Current ID makró Kifejezések lekérdezése típusú lekérdezésben az aktuális bejegyzéshez vagy termékhez kapcsolódó kifejezéseket adja.
- Hozz létre Kifejezések lekérdezése lekérdezést.
- Az Általános fülön add meg a szükséges Taxonomy értéket.
- Az Object/Post IDs mezőbe tedd a Current ID makrót, hogy az aktuális bejegyzés azonosítóját automatikusan lekérje.
A használathoz hozz létre listázási sablont ugyanahhoz a taxonómiához, tedd a Listing Grid elemet az egyedi bejegyzés oldalára vagy sablonjára, válaszd ki a listázást, és alkalmazd a lekérdezést.
Az adattárba tett bejegyzések
Szekció neve “Az adattárba tett bejegyzések”A Get Store makró az aktuális felhasználó által a megadott adattárba tett objektumok azonosítóit adja. Így megmutathatod azokat a bejegyzéseket, amelyeket a felhasználó kedvelt vagy meglátogatott, az adattár beállításaitól függően.
- Hozz létre Bejegyzések lekérdezése lekérdezést, és az Általános fülön add meg a bejegyzéstípust.
- A Bejegyzés és oldal → Post In mezőbe tedd a Get Store makrót, és a felugró ablakban válaszd ki az adattárat.
- Mentsd a lekérdezést, hozz létre listázási sablont ugyanahhoz az egyedi bejegyzéstípushoz, tedd a Listing Grid elemet arra az oldalra, ahol az adattárba tett bejegyzések látszanak, és alkalmazd a lekérdezést.
Az aktuális bejegyzést kedvelő felhasználók
Szekció neve “Az aktuális bejegyzést kedvelő felhasználók”A Get users from store item makró azoknak a felhasználóknak az azonosítóit adja, akik a megadott elemet az adattárba tették. Egyik felhasználási módja az aktuális bejegyzést kedvelők listája.
- Hozz létre Felhasználók lekérdezése lekérdezést.
- Az Include/Exclude → Include mezőbe (amely felhasználói azonosítókat vár) tedd a Get users from store item makrót.
- A felugró ablakban válaszd ki az adattárat, a Context értéke pedig legyen Post.
Az egyedi bejegyzésoldalon a lekérdezés a bejegyzést az adattárba tevő felhasználókat adja. A használathoz hozz létre listázási sablont a felhasználóknak, tedd a Listing Grid elemet az egyedi bejegyzés oldalára, válaszd ki a listázást, és alkalmazd a lekérdezést.
Tartalékértékek a makróknál
Szekció neve “Tartalékértékek a makróknál”A legtöbb esetben az egyéni lekérdezés minden elemet visszaad, ha a makrót hibásan alkalmaztad, nem adtál meg kontextust, vagy az aktuális kiválasztáshoz nem található semmi. Hogy a lekérdezés ilyenkor nulla találatot adjon, a makróhoz tartalékértéket (fallback) kell megadni. A tartalékérték akkor érvényesül, ha nincs találat. Minden makrónál elérhető.
Példa: a kifejezés szerint kapcsolódó bejegyzések lekérdezését (lásd fent) használod. Van egy „Test Post” nevű új bejegyzés, amelyhez még nincs kifejezés rendelve. Az egyedi oldalán a lekérdezés nulla találat helyett az adott bejegyzéstípus összes közzétett bejegyzését adja vissza.
Ennek elkerülésére:
- Kattints a hozzáadott makróra a felugró ablak megnyitásához, majd az Advanced settings (haladó beállítások) gombra.
- Hagyd meg a Default Object kontextust.
- A Fallback mezőbe írj be egy nem létező értéket, például egy nem létező kifejezés azonosítóját:
999999.
Így a lekérdezés nulla találatot ad, ahogy szeretnéd.
A lekérdezés alkalmazása
Szekció neve “A lekérdezés alkalmazása”Az elkészült egyéni lekérdezést bármelyik, azt támogató widgettel használhatod. A leggyakoribb a Listing Grid widget. A lekérdezés alkalmazása szerkesztőnként:
Elementor
Szekció neve “Elementor”- Nyisd meg az oldalt vagy sablont az Elementorban, add hozzá a Listing Grid widgetet, és válaszd ki a korábban létrehozott listázást. Az Általános fülön állítsd be, amit szükséges.
- A Custom Query fülön kapcsold be a Use Custom Query kapcsolót, és a Custom Query mezőben válaszd ki az imént létrehozott lekérdezést.
- Tedd közzé az oldalt vagy sablont.
Blokkszerkesztő (Gutenberg)
Szekció neve “Blokkszerkesztő (Gutenberg)”- Nyisd meg az oldalt vagy sablont a blokkszerkesztőben, keresd meg a Listing Grid blokkot, és helyezd el az oldalon. Válaszd ki a listázást, majd az Általános fülön állítsd be, amit szükséges.
- A Custom Query fülön kapcsold be a Use Custom Query kapcsolót, és a Custom Query mezőben válaszd ki a lekérdezést.
- Tedd közzé az oldalt vagy sablont.
Bricks
Szekció neve “Bricks”- Nyisd meg az oldalt vagy sablont a Bricksben, keresd meg a Listing Grid elemet, és tedd az oldalra. Válaszd ki a listázást, majd az Általános fülön állítsd be, amit szükséges.
- A Custom Query fülön kapcsold be a Use Custom Query kapcsolót, és a Custom Query mezőben válaszd ki a lekérdezést.
- Mentsd az oldalt a megfelelő gombbal.
Ezután a listázás a lekérdezés találatait jeleníti meg.
Készült: