Szűrők a Lekérdezéskészítő forrásával (JetSmartFilters)
Szűrő opcióinak feltöltése lekérdezésből, és a Range szűrő minimum- és maximumértékeinek lekérése lekérdezésből.
Két feladatot oldhatsz meg a Lekérdezéskészítő és a JetSmartFilters együttes használatával: a szűrő opciói jöhetnek lekérdezésből, és a Range szűrő határértékei is.
Követelmény: JetEngine, JetSmartFilters, és Elementor (ingyenes), blokkszerkesztő vagy Bricks.
Szűrő opciói lekérdezésből
Szekció neve “Szűrő opciói lekérdezésből”A példa a termékkategóriákat névsorba rendezi (az alapértelmezett, létrehozás szerinti sorrend helyett), és a „Nem kategorizált” kategóriát kihagyja.
1. A lekérdezés
Szekció neve “1. A lekérdezés”- A JetEngine → Lekérdezéskészítő → Új hozzáadása oldalon add meg a nevet, a típus legyen Kifejezések lekérdezése.
- Az Általános fülön a Taxonómia legyen „Termékkategóriák”, az Order By „Name”, az Order „From lowest to highest values”.
- Az Include/Exclude fülön az Exclude mezőbe írd a „Nem kategorizált” kategória azonosítóját.
- Kattints a Lekérdezés hozzáadása gombra.
2. A szűrő
Szekció neve “2. A szűrő”- A JetSmartFilters → Új hozzáadása oldalon válassz szűrőtípust: Radio, Checkbox, Select vagy Visual, az adatforrás pedig legyen JetEngine Query Builder.
- A Select Query mezőben válaszd ki a lekérdezést.
- A Property to get Value from mezőbe azt a tulajdonságot írd, amelyik a szűrés értéke. Kifejezéseknél ez a kifejezés azonosítója, a neve
term_id. A pontos tulajdonságnevet a lekérdezésben az Eredmények előnézete kapcsolóval nézheted meg. - A Property to get Label from az opció felirata az oldalon: itt a
name. - A Query Variable mezőbe a szűrendő taxonómia kerül. A mellette lévő Dynamic Tag gombbal válaszd a Taxonomy lehetőséget, és ott a „Termékkategóriák” taxonómiát.
- Töltsd ki a Filter Labels részt, és kattints a Frissítés gombra.
3. Az oldalon
Szekció neve “3. Az oldalon”- A szerkesztőben tedd be a szűrő widgetjét (a példában Checkboxes Filter), és a Select filter mezőben válaszd ki az új szűrőt.
- A This filter for mezőben válaszd a JetEngine szolgáltatót, mert Listing Gridet szűrsz.
- Tegyél az oldalra egy Listing Grid widgetet is.
Az előlapon az opciók ábécésorrendben vannak, és a szűrő a kiválasztott termékkategória szerint szűri a termékeket.
A Range szűrő minimuma és maximuma lekérdezésből
Szekció neve “A Range szűrő minimuma és maximuma lekérdezésből”A Range szűrő határértékei egy lekérdezés eredményéből is jöhetnek, például a lekérdezett termékek legalacsonyabb és legmagasabb áraiból.
Követelmény: egy PHP-kódrészletek beillesztésére alkalmas bővítmény (például Code Snippets), WooCommerce termékek árral, JetEngine listázási sablonnal a termékadatokhoz, és JetSmartFilters.
1. A kódrészlet
Szekció neve “1. A kódrészlet”A Snippets → Új hozzáadása oldalon hozz létre egy kódrészletet (például „JetEngine Query Source for Range Filter” néven), amelyik egy új callbacket ad a Range szűrőhöz, hogy a minimumot és a maximumot egy JetEngine-lekérdezésből kérje le. Mentsd és kapcsold be: Save and Activate.
2. A lekérdezés
Szekció neve “2. A lekérdezés”- A Lekérdezéskészítőben hozz létre Bejegyzések lekérdezése típusú lekérdezést. Az Egyéni lekérdezés-ID legyen például
price-range: ez köti össze a lekérdezést, a szűrőt és a szolgáltatót. - Az Általános fülön a bejegyzéstípus legyen „Termékek”.
- A Taxonómiai lekérdezés fülön (opcionális) szűkíthetsz kategóriára: Taxonomy „Termékkategóriák”, Field „Slug”, Terms például
business. - Mentsd a lekérdezést.
3. A szűrő
Szekció neve “3. A szűrő”- A JetSmartFilters → Új hozzáadása oldalon a szűrőtípus legyen Range.
- A Get min/max dynamically listában válaszd a Get from JetEngine Query lehetőséget (a kódrészlet aktiválása után jelenik meg), majd a Select Query listában a lekérdezést.
- A Query Variable mezőbe írd:
_price. Ez a WooCommerce meta kulcsa, amelyben az ár tárolódik. Más numerikus mezőhöz a saját meta kulcsát add meg. - Töltsd ki a Filter Labels részt, és frissítsd.
4. Az oldalon
Szekció neve “4. Az oldalon”- Tedd be a Range Filter widgetet. A Select filter mezőben válaszd ki a szűrőt, a This filter for listában a JetEngine lehetőséget, a Query ID pedig legyen
price-range. - Tedd be a Listing Grid widgetet, válaszd ki a listázási sablont (az oszlopszámot beállíthatod).
- A Custom Query fülön kapcsold be a Use Custom Query kapcsolót, és válaszd ki a lekérdezést.
- A Speciális fülön a CSS ID mezőbe ugyanazt az azonosítót írd:
price-range. - Tedd közzé az oldalt.
Az előlapon a csúszka értékeinek módosításakor a Listing Grid a megadott ártartományba eső termékeket mutatja.
Készült: