Tovább a tartalomhoz

Ismétlő mező elemeinek rendezése, szűrése és keresése

Ismétlő lekérdezéssel és JetSmartFilters szűrőkkel az ismétlő mező elemeit név, ár vagy időtartam szerint rendezed és szűröd, az almezők szerinti keresés beállításával együtt.

Az Ismétlő (Repeater) mező több elemet tárolhat, és ezeket gyakran sorrendbe kell tenni vagy az értékük szerint szűkíteni. A JetEngine Query Builder és a JetSmartFilters együtt ezt az oldalon közvetlenül megoldja. Előfeltétel: ingyenes Elementor, blokkszerkesztő vagy Bricks, valamint aktív JetEngine és JetSmartFilters.

Példánk egy „Tour Packages” ismétlő mező a „Tours” bejegyzéstípuson, három almezővel: „Package Name” (szöveg), „Price” (szám), „Duration” (szám).

Ismétlő mező bármilyen bejegyzéstípushoz, egyéni tartalomtípushoz, taxonómiához, kapcsolathoz, felhasználóhoz (metadobozban) és beállítóoldalhoz létrehozható, JetEngine-nel vagy ACF-fel.

  1. Nyisd meg a JetEngine → Post Types oldalon a bejegyzéstípust szerkesztésre.
  2. A Meta fields résznél kattints az Új metamező gombra.
  3. Add meg a feliratot és a nevet, a mező típusa legyen Repeater.
  4. Az Új ismétlőmező gombbal vedd fel az almezőket (Package Name: Text, Price: Number, Duration: Number).
  5. Mentsd a bejegyzéstípust.
  6. Szerkessz egy bejegyzést, tölts ki több ismétlő elemet, és mentsd.

Az elemek rendezéséhez, szűréséhez és lapozásához kötelező az Ismétlő lekérdezés típusú lekérdezés.

  1. A JetEngine → Query Builder oldalon kattints az Új hozzáadása gombra.
  2. Add meg a nevet, a Lekérdezés típusa legyen Ismétlő lekérdezés.
  3. A Forrás mezőben válaszd a JetEngine Meta Field forrást, és add meg a mezőt.
  4. Az Objektum ID mezőt hagyd üresen, ha az elemeket az egyedi bejegyzés oldalán jeleníted meg. Statikus oldalon a bejegyzés azonosítóját add meg.
  5. Mentsd a lekérdezést.
https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-query&query_action=add
Új lekérdezés Ismétlő lekérdezés típussal

A képen a Forrás, az Objektum ID és a rendezési paraméterek mezői láthatók.

Listázási elem az ismétlő forráshoz

Szekció neve “Listázási elem az ismétlő forráshoz”
  1. A JetEngine → Listings/Components oldalon vegyél fel új elemet: Listing source legyen Query Builder, a lekérdezés az imént készített, a nézet például Elementor.
  2. A szerkesztőben tegyél be egy Dynamic Field widgetet, a Source maradjon Post/Term/User/Object Data.
  3. Az Object Field listában a lekérdezés neve alatt válaszd ki az almezőt, amelynek értékét ki akarod írni.
  4. Alakítsd a sablont, és mentsd.
  1. Nyisd meg az egyedi bejegyzés sablonját, és hozz létre két oszlopot.
  2. A második oszlopba tegyél Listing Grid widgetet, és válaszd ki az ismétlő sablont. Ha több Listing Grid van az oldalon, az Advanced fülön adj meg egyedi CSS ID értéket.
  3. Az első oszlopba tegyél Sorting szűrőt ezekkel a beállításokkal: This filter for: JetEngine; Apply type: Page reload; Apply on: Click on apply button; Show apply button: bekapcsolva; Query ID: a Listing Grid CSS ID-ja.
  4. A Sorting List fülön vegyél fel rendezési feltételeket. Mindegyiknél: Title (például „Név szerint ábécében”), Order By (Meta key vagy Meta key numeric), Key (az almező kulcsa, például package_name), Order (ASC vagy DESC).
  5. Tedd közzé a sablont.

A weboldalon például a „By price from lowest to highest” lehetőséggel ár szerint növekvő sorrendbe kerülnek az elemek.

Az ismétlő elemekhez a Radio, Checkbox, Select és Visual szűrők használhatók JetEngine Query Builder adatforrással.

  1. A Smart Filters → Add New oldalon add meg a szűrő nevét, a típusa legyen például Radio, az adatforrás JetEngine Query Builder, és válaszd ki az ismétlő lekérdezést.
  2. A Property to get Value from, a Property to get Label from és a Query Variable mezőbe írd az almező kulcsát (például package_name), és frissítsd a szűrőt.
  3. Az egyedi bejegyzés sablonjában a Listing Grid mellé tedd a Radio Filter widgetet: válaszd ki a szűrőt, This filter for: JetEngine, Apply type: Page reload, Apply on: Click on apply button, Show apply button: bekapcsolva, Query ID: a Listing Grid CSS ID-ja.
  4. Mentsd az oldalt.

Az oldalon a kiválasztott csomagnév (például „Luxury Experience”) szerint szűkül a lista.

Ha egy keresőszűrővel (Search) az ismétlő almezőit akarod átkeresni:

  1. Az ismétlő mezőnél kapcsold be a Save as separate fields (Mentés külön mezőkként) kapcsolót.
  2. Ha már voltak kitöltött bejegyzések, nyisd meg mindegyiket, és mentsd újra, különben az értékek nem kerülnek be megfelelően az adatbázisba, és a keresés nem találja őket.
  3. A Smart Filters → Add New oldalon hozz létre Search típusú szűrőt, a Search by legyen By Custom Field (from Query Variable).
  4. A Query Variable mezőbe az almezőket ismetlo-neve_almezo-neve alakban írd, több almezőt vesszővel elválasztva. Példa: clients_info_country, clients_info_city, ahol a clients_info az ismétlő neve, a country és a city az almezők.
  5. Tedd az oldalra a Listing Gridet (előbb készüljön el a listázási sablon) és a keresőszűrőt, és kösd össze őket Query ID-val.

Ezután az országra (például „Italy”) és a városra (például „Paris”) is helyesen szűr a keresés.

Kötelező az egyéni lekérdezés az ismétlő elemek rendezéséhez vagy szűréséhez? Igen, az Ismétlő lekérdezés típus a forrása a listának, amelyet rendezni, szűrni és lapozni lehet.

Szűrhetők az elemek a mezőértékeik szerint? Igen, a Radio, Checkbox, Select és Visual szűrők a JetEngine Query Builder adatforrással.

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