# Haladó WooCommerce-szűrők

> Akciós termékek, „Ez is tetszhet” ajánlások és felhasználói viselkedésen alapuló listák: Query Builder lekérdezések, lekérdezés-váltó szűrő, Query ID, gyakori kérdések.

A JetEngine Query Builder, a Data Store, a listing sablon és a JetSmartFilters együtt összetett termékválogatásokat tesz lehetővé: akciós termékeket, ajánlásokat és a felhasználó viselkedésén alapuló listákat. Ezeket szűrők adatforrásaként és listingek lekérdezéseként is használhatod. A megoldás Elementorral, Gutenberggel és Bricksszel is működik.

## Mikor érdemes használni

- Ha „Akciós” szekcióra van szükséged, amely a változó termékeket is figyelembe veszi, és tiszteletben tartja az akció lejáratát.
- Ha az „Ez is tetszhet” blokkot termékattribútumok vagy a felhasználó viselkedése alapján szeretnéd összeállítani, statikus ajánlók helyett.
- Ha az alapértelmezett akciós szűrők vagy lekérdezések figyelmen kívül hagyják a harmadik féltől származó bővítmények kedvezményeit, és teljes irányítást szeretnél a lekérdezés felett.
- Ha a JetSmartFilters szűrőit saját lekérdezésekkel kombinálnád.

## Követelmények

- Elementor (az ingyenes is elég), blokkszerkesztő vagy Bricks.
- Aktív WooCommerce, alapvető bolt-beállításokkal.
- Aktív JetEngine, bekapcsolt Query Builder modullal, és beállított Data Store modullal.
- Aktív JetSmartFilters.

## Akciós termékek lekérdezése

Ez a lekérdezés az egyszerű termékek mellett a változó termékeket is tartalmazza.

1. Nyisd meg a **JetEngine → Query Builder** oldalt, és kattints az **Új hozzáadása** gombra.
2. Adj nevet a lekérdezésnek, a típus legyen **Bejegyzések lekérdezése** (Posts Query).
3. Az általános beállításokban a **Post Type** mezőben válaszd a **Products** és a **Variations** lehetőséget.
4. A **Post & Page** fülön kattints a **Post In** mező melletti dinamikus címke ikonra, és válaszd a **WC Products On Sale** makrót.
5. Kattints az **Add/Update Query** gombra.

## „Ez is tetszhet” ajánlások

A JetWooBuilder **Single Related Products** widgetje kész megoldást ad az azonos kategóriájú termékekhez, de saját szabályokat is megadhatsz a lekérdezésekben. Kétféle ajánlás készíthető: azonos kategóriából, illetve a felhasználó viselkedése alapján (például nemrég megtekintett termékek).

### Ajánlás azonos kategóriából

1. Hozz létre egy **WC Product Query** lekérdezést, és válaszd ki a kívánt terméktípust és státuszt.
2. A **Tax Query** fülön kattints az **Add new** gombra, és az ablakban:
   - a **Taxonomy** mezőben válaszd ki a termék taxonómiáját,
   - a **Field** listában válaszd a **Term ID** értéket,
   - a **Terms** mező melletti dinamikus címke ikonnal válaszd a **Current terms** lehetőséget, és ugyanazt a kategóriát, amelyet a **Taxonomy** mezőben kijelöltél,
   - a **Compare** operátor legyen **IN**.
3. Kattints az **Add/Update Query** gombra.

### Ajánlás a felhasználó viselkedése alapján

Megmutathatod például a nemrég megtekintett termékeket. Ehhez hozz létre egy **Bejegyzések lekérdezése** típusú lekérdezést azokra a termékekre, amelyek a Data Store-ban vannak. A **Post In** mezőben válaszd a **Get store** lehetőséget, és add meg a kívánt tárolót. Mentsd a lekérdezést.

### Az aktuális termék kizárása és a találatok korlátozása

- Az aktuális termék kizárásához a **Post & Page** részben a **Post Not In** mező dinamikus címkéjénél válaszd a **Current ID** lehetőséget.
- A megjelenő termékek számát a **Pagination** fülön a **Posts Per Page** mezőben adhatod meg. A `-1` érték az összes találatot megjeleníti.

## A lekérdezések összekötése a szűrővel

### A szűrő felépítése

1. Nyisd meg az **Intelligens szűrők → Új hozzáadása** oldalt, adj nevet a szűrőnek, és válaszd a **Választógomb** vagy a **Kiválasztás** típust (a példában **Kiválasztás**).
2. Az adatforrás legyen **JetEngine Query Builder kapcsoló**. A **Lekérdezés kiválasztása** listában válaszd ki a lekérdezéseket: lehet olyan, amely az összes terméket adja, és olyan, amely az ajánlottakat. Több opciót is felvehetsz, hogy a látogató válasszon.
3. A **Lekérdezési változó** mezőben válaszd a **Switch JetEngine query** lehetőséget.
4. Kattints az **Update** gombra.

![Lekérdezés-váltó szűrő a Query Builder lekérdezéseivel](./kepek/adatforras-query-builder-kapcsolo.webp)

*Lekérdezés-váltó szűrő a Query Builder lekérdezéseivel* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-smart-filters)

A képen a **JetEngine Query Builder kapcsoló** adatforrás és a **Lekérdezés kiválasztása** lista látszik.

### A lekérdezés hozzárendelése a Listing Gridhez

1. Nyisd meg azt az oldalt, ahol a termékek listája megjelenik (a példában az egyedi termék oldal sablonja). Add hozzá a **Listing Grid** widgetet, és válaszd ki a listing sablont.
2. A **Custom Query** fülön kapcsold be a **Use Custom Query** kapcsolót, és válaszd ki a lekérdezést.
3. A **Haladó** fül **CSS ID** mezőjébe írj be egy egyedi Query ID-t.
4. Ugyanezt a Query ID-t add meg a szűréshez használt minden lekérdezés **Custom Query ID** mezőjében is. Mentsd a lekérdezéseket.

A Query ID ne tartalmazzon szóközt, speciális karaktert vagy számot, és egyedi legyen.

### A szűrő hozzárendelése a Listing Gridhez

1. Térj vissza az oldalra, és add hozzá a szűrő widgetjét (a példában **Kiválasztás**). Válaszd ki a szűrőt.
2. A **This filter for** listában válaszd a **JetEngine** szolgáltatót.
3. A **Query ID** mezőbe írd be ugyanazt az azonosítót, amelyet a Listing Gridhez és a lekérdezésekhez is megadtál.
4. Kattints a **Publish** gombra.

A nyilvános oldalon az „Ez is tetszhet” szekcióban kezdetben az összes termék látszik. A szűrőben kiválaszthatod a már megtekintett termékeket, az azonos kategóriájú termékeket (például a „Női kollekció” kategóriát) vagy az akciós termékeket is.

A megoldás együtt használható a JetWooBuilderrel (bolt-, kosár- és egyedi termék sablonok), a JetEngine Data Store modulral (viselkedésalapú ajánlások) és a JetSmartFilters indexelőjével (gyorsabb szűrés nagy termékkatalógusnál).

## Gyakori kérdések

**Működik ez a módszer változó termékekkel?** Igen. Ha a **Variations** bejegyzéstípust is felveszed a lekérdezésbe, a változó termékek akkor is akciósnak számítanak, ha a kedvezmény csak bizonyos variációkra vonatkozik.

**Használható harmadik féltől származó kedvezménybővítménnyel?** Attól függ, hogyan tárolja az árakat. Ha nem a WooCommerce szokásos akciós mezőit használja, további egyéni lekérdezési feltételek kellhetnek.

**Miért nem hat a szűrő a listára?** Leggyakrabban a Query ID nem egyezik. A Listing Grid, az összes egyéni lekérdezés és maga a szűrő is ugyanazt a Query ID-t használja, szóköz és speciális karakter nélkül.

**Kombinálhatok több lekérdezést egy szűrőben?** Igen, a **JetEngine Query Builder kapcsoló** adatforrással egyetlen szűrőben válthatsz több lekérdezés között (például összes termék, akciós termékek, ajánlott termékek).

**Hogyan zárom ki az aktuális terméket az ajánlásokból?** A lekérdezés **Post Not In** mezőjében használd a **Current ID** dinamikus címkét.

**Megoldható az „Ez is tetszhet” a JetWooBuilder nélkül?** Igen. A Query Builderrel készíthetsz egyéni ajánlási lekérdezést, például azonos kategóriából vagy a Data Store-ból nemrég megtekintett termékekből.

**Hogyan gyorsítom a szűrést nagy katalógusnál?** Kapcsold be a szűrők indexelőjét: az előre feldolgozott szűrőadatokat külön adatbázistáblában tárolja, így a szűrők gyorsabban adnak találatot.

**Korlátozhatom az ajánlott termékek számát?** Igen: a lekérdezés **Pagination** fülén a **Posts Per Page** mezővel. A `-1` az összes találatot jelenti.
