Tovább a tartalomhoz

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.

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.

https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-query&query_action=add
Az Egyesített lekérdezés beállításai

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

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:

  1. egy Dynamic Link widget Permalink forrással és %title% felirattal, hogy a cím az állás oldalára vigyen;
  2. egy Dynamic Field a leíráshoz (Meta Data forrás);
  3. egy Dynamic Terms widget a helyszín taxonómiához;
  4. 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, Y formátummal;
  5. 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;
  6. egy Dynamic Field a fizetéshez, a Customize field output kapcsolóval és a Field format mezőben a €%s formátummal.

Frissítsd a sablont.

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.

  1. 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ék true.
  2. 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.
  3. 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.

Hozz létre új lekérdezést „Egyesített lekérdezés állásokhoz” névvel, Egyesített lekérdezés típussal.

  1. A Lekérdezés típusa maradjon Bejegyzések.
  2. 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.
  3. 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.
  4. Mentsd a lekérdezést.

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:

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