Egyesített lekérdezés
Az Egyesített lekérdezés beállításai és korlátai, valamint példa: kiemelt állások, a mai bejegyzések és a többi állás fizetés szerint egy Listing Gridben.
Az Egyesített lekérdezés típus több lekérdezés eredményét egyetlen lekérdezéssé fűzi össze. Használhatod például arra, hogy különböző feltételek szerint kiválasztott bejegyzéseket egyetlen Listing Gridben jeleníts meg.
Beállítások
Szekció neve “Beállítások”Az általános blokk (Név, Leírás, Lekérdezés típusa, Egyéni lekérdezés-ID, Lekérdezés gyorsítótárazása, Gyorsítótár lejárata, REST API-végpont regisztrálása) ugyanaz, mint a többi típusnál: lásd a Lekérdezéskészítő áttekintése fejezetet. A típusnál az Egyesített lekérdezés értéket válaszd.

A képen az Egyesített lekérdezés blokk látszik: a lekérdezés típusa, az ismétlődő elemek kizárása, az oldalankénti maximum és az egyesítendő lekérdezések listája.
| Beállítás | Mit csinál |
|---|---|
| Lekérdezés típusa | Az egyesítendő lekérdezések típusa. Csak azonos típusú lekérdezések egyesíthetők: bejegyzések bejegyzésekkel, kifejezések kifejezésekkel és így tovább. Jelenleg a bejegyzések, a kifejezések, a felhasználók és a hozzászólások támogatottak. |
| Ismétlődő elemek kizárása | Bekapcsolva az oldalon egy korábbi lekérdezésben már megjelent elemek kimaradnak az összes következő lekérdezésből. |
| Max. elemek száma oldalanként | Az egyesített lekérdezés oldalankénti legnagyobb elemszáma. Ha N-t adsz meg, legfeljebb N eredményt ad oldalanként: minden következő lekérdezésnél úgy csökken az elemszám, hogy az összeg ne haladja meg az N-et. Üresen minden beágyazott lekérdezés a saját beállítása szerint ad elemeket. |
| Egyesítendő lekérdezések | Az Új lekérdezés hozzáadása gomb minden kattintása egy legördülő listát ad, amelyből a megadott típusú lekérdezést választod. |
Működési korlátok
Szekció neve “Működési korlátok”- A lekérdezés nem működik megfelelően a JetSmartFilters Indexer beállításával. Az egyesített lekérdezés különböző lekérdezések eredményeit fűzi össze, ezért az Indexer nem tudja eldönteni, mely argumentumokkal számoljon.
- A lapozással gondok lehetnek. Mivel minden beágyazott lekérdezésnek más az oldalszáma, az összes oldal száma néha hibásan számolódik.
Példa: kiemelt állások, mai állások, a többi fizetés szerint
Szekció neve “Példa: kiemelt állások, mai állások, a többi fizetés szerint”A cél egy Listing Grid, amely előbb a kiemelt állásokat mutatja, utána a ma közzétett állásokat, végül a többit fizetés szerint csökkenő sorrendben. Ehhez három Bejegyzések lekérdezése típusú lekérdezést fűzünk össze (a példa bármely támogatott típusra alkalmazható). Elementor, a blokkszerkesztő vagy Bricks is használható.
1. Egyéni bejegyzéstípus előkészítése
Szekció neve “1. Egyéni bejegyzéstípus előkészítése”A példában az „Állások” egyéni bejegyzéstípus áll az alapul (alapértelmezett bejegyzésekkel is működik). A JetEngine → Bejegyzéstípusok oldalon hozd létre (vagy szerkeszd), és add meg a nevét meg a slugját. A Meta mezők fülön vedd fel a szükséges mezőket (például fizetés, leírás), valamint egy Kiemelt nevű, Switcher típusú mezőt. Mentsd a típust, majd az állások szerkesztésekor töltsd ki a mezőket, és az egyik állásnál kapcsold be a kiemelést.
2. Listing sablon
Szekció neve “2. Listing sablon”A JetEngine → Listings/Components oldalon hozz létre listing elemet: a forrás Posts, a bejegyzéstípus az állások típusa, add meg a nevét és a nézetet (Elementor, Bricks, Timber/Twig vagy blokkok). A sablonban:
- egy Dynamic Link widget Permalink forrással és
%title%felirattal, hogy a cím az állás oldalára vigyen; - egy Dynamic Field a leíráshoz (Meta Data forrás);
- egy Dynamic Terms widget a helyszín taxonómiához;
- egy Dynamic Field a bejegyzés dátumával: a Filter field output kapcsolóval a „Format date” visszahívás, például
F j, Yformátummal; - egy Dynamic Field a kiemelés mezőhöz: a „Switcher field values” visszahívással, a Text if enabled mezőbe a „Kiemelt” szöveggel, és a Hide if value is empty bekapcsolásával;
- egy Dynamic Field a fizetéshez, a Customize field output kapcsolóval és a Field format mezőben a
€%sformátummal.
Frissítsd a sablont.
3. A három lekérdezés
Szekció neve “3. A három lekérdezés”Mindhárom lekérdezés a JetEngine → Lekérdezéskészítő oldalon készül (Új hozzáadása), Bejegyzések lekérdezése típussal. Az Általános fülön mindháromnál add meg a bejegyzéstípust (az állásokét) és a közzétett állapotot.
- Kiemelt állások: a Meta lekérdezés fülön új feltétel: a Mező kulcsa/neve a kiemelés mező neve (például
_promoted), az Összehasonlítás Egyenlő (=), az Értéktrue. - Ma közzétett állások: a Dátumlekérdezés fülön új feltétel: az Utána mezőbe „Today”, az Összehasonlítás Egyenlő (=), az Oszlop Post date.
- Rendezés a többi állásra: az Általános fülön az Új rendezési paraméter hozzáadása gombbal egy paraméter: a Sorrend alapja „numerikus metaérték”, a Meta kulcs a fizetés mező neve (például
_salary), a Rendelés „A legmagasabb értékektől a legalacsonyabb értékekig”.
Mindegyiket mentsd a Lekérdezés hozzáadása gombbal.
4. Az egyesített lekérdezés
Szekció neve “4. Az egyesített lekérdezés”Hozz létre új lekérdezést „Egyesített lekérdezés állásokhoz” névvel, Egyesített lekérdezés típussal.
- A Lekérdezés típusa maradjon Bejegyzések.
- Kapcsold be az Ismétlődő elemek kizárása kapcsolót. Így egy kiemelt állás, amelyet ma tettek közzé, nem jelenik meg kétszer, és az első két lekérdezés elemei a harmadikban sem ismétlődnek.
- Az Új lekérdezés hozzáadása gombbal vedd fel sorban a három lekérdezést: a kiemelteket, a mai közzétételeket, majd a rendezőt.
- Mentsd a lekérdezést.
5. Listing Grid az oldalon
Szekció neve “5. Listing Grid az oldalon”Az oldalon helyezz el Listing Grid elemet (Elementor widget, blokk vagy Bricks elem), és válaszd ki a listing sablont. A Custom Query fülön kapcsold be a Use Custom Query kapcsolót, és a Custom Query listából válaszd az egyesített lekérdezést. Közzététel után az oldalon először a kiemelt állás, utána a mai állások, végül a többi állás látszik fizetés szerint csökkenő sorrendben.
Készült: