Tovább a tartalomhoz

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ó 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.

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.

https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-query&query_action=add
Az új lekérdezés űrlapja a Lekérdezéskészítőben

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.

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).

  1. Hozz létre egy Bejegyzések lekérdezése lekérdezést.
  2. Az Általános fülön add meg a Bejegyzés típusa értékét.
  3. 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.

  1. Hozz létre Bejegyzések lekérdezése lekérdezést, és az Általános fülön add meg a bejegyzéstípust.
  2. A Taxonómiai lekérdezés fülön nyomd meg az Add new gombot egy új feltételhez.
  3. 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.
  4. 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.

  1. Hozz létre Bejegyzések lekérdezése lekérdezést, és az Általános fülön add meg a bejegyzéstípust.
  2. A Taxonómiai lekérdezés fülön adj hozzá új feltételt (Add new).
  3. Á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.
  4. 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.
  5. 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.

  1. Hozz létre Bejegyzések lekérdezése lekérdezést, és az Általános fülön add meg a bejegyzéstípust.
  2. 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.

  1. 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”).
  2. A Meta lekérdezés fülön adj hozzá új meta feltételt.
  3. 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.
  4. 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.
  5. 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ó.

  1. 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.
  2. 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.
  3. 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.
  4. 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.

  1. Hozz létre Bejegyzések lekérdezése lekérdezést, és az Általános fülön add meg a bejegyzéstípust.
  2. 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.

  1. Hozz létre Bejegyzések lekérdezése lekérdezést, és az Általános fülön add meg a bejegyzéstípust.
  2. 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.

  1. Hozz létre Felhasználók lekérdezése lekérdezést.
  2. 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.

  1. Hozz létre Kifejezések lekérdezése lekérdezést.
  2. Az Általános fülön add meg a szükséges Taxonomy értéket.
  3. 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.

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.

  1. Hozz létre Bejegyzések lekérdezése lekérdezést, és az Általános fülön add meg a bejegyzéstípust.
  2. 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.
  3. 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.

  1. Hozz létre Felhasználók lekérdezése lekérdezést.
  2. Az Include/Exclude → Include mezőbe (amely felhasználói azonosítókat vár) tedd a Get users from store item makrót.
  3. 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.

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:

  1. Kattints a hozzáadott makróra a felugró ablak megnyitásához, majd az Advanced settings (haladó beállítások) gombra.
  2. Hagyd meg a Default Object kontextust.
  3. 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.

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:

  1. 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.
  2. 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.
  3. Tedd közzé az oldalt vagy sablont.
  1. 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.
  2. 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.
  3. Tedd közzé az oldalt vagy sablont.
  1. 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.
  2. 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.
  3. Mentsd az oldalt a megfelelő gombbal.

Ezután a listázás a lekérdezés találatait jeleníti meg.

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