# Query ID útmutató

> Mi a szolgáltató és a Query ID, mikor kell megadni, milyen szabályok vonatkoznak rá, és hogyan működik a különböző szolgáltatókkal.

A **Query ID** a JetSmartFilters egyik legfontosabb beállítása. Megtalálod a szűrőkön, a szolgáltatókon, a lapozón és a lekérdezések beállításaiban is. Ez a fejezet azt írja le, mi ez, mikor kell, és hogyan működik a különböző szolgáltatókkal.

## Mi a szolgáltató

A szolgáltató (provider) az a blokk, widget vagy elem, amely az oldalon a szűrhető adatot megjeleníti. Ilyen például:

- a JetEngine Listing Grid,
- a Map Listing,
- az Elementor Pro Loop Grid,
- a Bricks Query Loop,
- a JetWooBuilder widgetjei,
- az alapértelmezett WooCommerce archívum,
- a JetEngine Dynamic Table,
- a JetSmartFilters Listing elemei.

A szolgáltató elemek egy csoportját mutatja az oldalon. A szűrő a kiválasztott értékek szerint frissíti, mi látszik a szolgáltatóban.

## Hogyan működik a Query ID

A Query ID egy szöveges érték, amely egy szűrőt egy adott szolgáltatóhoz köt. Ha az oldalon csak egy szolgáltató van, a bővítmény általában magától felismeri. Ha több van, a Query ID dönti el, melyik reagáljon az adott szűrőre.

Ugyanazt a Query ID-t adhatod meg:

- a szűrő blokkján, widgetjén vagy elemén,
- a szolgáltatón,
- egy JetEngine Query Builder lekérdezésen,
- a lapozón és a rendezés szűrőn.

![A Query ID mező a Lapozás blokkban](./kepek/altalanos-lapozas-blokk.webp)

*A Query ID mező a Lapozás blokkban* (https://minta-bolt.hu/wp-admin/post.php?post=6&action=edit)

A képen a lapozó **QUERY ID** mezője látszik. A szűrőknél és a lapozónál a mező leírása szerint egyedi azonosítót kell megadni, ha az oldalon ugyanabból a szolgáltatótípusból több van, és ugyanezt kell beállítani a szűrt blokkon is.

Ha az értékek nem egyeznek, a szűrő rossz szolgáltatóra hathat, vagy egyáltalán nem működik.

## Mikor kell megadni

Érdemes megadni, ha egyértelmű kapcsolatot akarsz a szűrők és a szolgáltatók között. Különösen fontos, ha:

- az oldalon több szolgáltató van,
- lapozót és rendezést is használsz,
- JetEngine Query Buildert használsz,
- a **Additional Providers** funkciót használod,
- több szűrőnek csak egy adott szolgáltatóra kell hatnia,
- a szűrőket, a rendezést vagy a lapozást különböző widgetekhez rendeled.

Query ID nélkül a szűrők rossz szolgáltatót vagy egyszerre több szolgáltatót is frissíthetnek.

Üresen hagyhatod, ha az oldalon csak egy szűrhető szolgáltató van, és nincs szükség kifejezett kapcsolatra. Ilyenkor is ajánlott megadni, mert stabilabb és kiszámíthatóbb a szűrés.

## Szabályok

- Használj betűket, számokat, kötőjelet vagy aláhúzást.
- Ne használj szóközt.
- Figyelj a kis- és nagybetűkre: a „myGrid” nem azonos a „mygrid” értékkel.
- Betűvel kezdődjön, ne számmal (például „listing1”, ne „1listing”).

## Query ID és a JetEngine Query Builder

Ha egy egyéni lekérdezés részt vesz a szűrésben, ugyanazt a Query ID-t kell megadni a szűrőn, a szolgáltatón és a Query Builder lekérdezésen is. Különben a bővítmény nem ismeri fel, melyik lekérdezést kell szűrnie.

## Több szolgáltató ugyanazon az oldalon

Ha az oldalon például két Listing Grid van, vagy egy Listing Grid és egy Map Listing, vagy egy Bricks Query Loop és egy Listing Grid, minden szolgáltatónak saját, egyedi Query ID-t adj. Ha több szolgáltatónak ugyanaz a Query ID-je, a szűrők egyszerre több elemre hathatnak, vagy kiszámíthatatlanul viselkedhetnek.

Az **Additional Providers** funkcióval egy szűrő több szolgáltatóra is hat. Ilyenkor is minden szolgáltatónak saját Query ID-je legyen, és függetlenül működjenek, még ha hasonló adatot mutatnak. Ha például egy Listing Grid és egy Map Listing ugyanazokat az ingatlanokat mutatja, belül akkor is külön lekérdezést használnak. Ezért mindkettőhöz hozz létre külön Query Builder lekérdezést, még ha a beállításaik megegyeznek. A szűrő az Additional Providers funkcióval kapcsolódik mindkettőhöz.

## Mely szolgáltatók támogatják

### JetEngine-alapú szolgáltatók és JSF Listing

A Listing Grid, a Map Listing és a Dynamic Table teljesen támogatja a Query ID-t, és együtt működik a Query Builderrel. Több szolgáltatónál mindegyiknek külön Query ID kell. A Query ID-t általában a szolgáltató **CSS ID** mezőjében adod meg. A JetSmartFilters Listing Builder is támogatja ugyanezen az elven.

### Query Loop alapú szolgáltatók (Elementor és Bricks)

Az Elementor Pro Loop Grid és a Bricks Query Loop saját lekérdezési rendszerrel rendelkezik, de használható a JetSmartFilters-szel. Tudnivalók:

- az Elementor Pro Loop Griden be kell kapcsolni az **Is Filterable** kapcsolót,
- a beépített lapozás vagy a „Nothing found” üzenet ütközhet a szűréssel,
- egyes Elementor lekérdezési forrásoknál van Query ID mező, ezt általában üresen kell hagyni. Az Elementor Posts és Portfolio szolgáltatóknál szükség lehet a „jet-smart-filters” értékre a Query ID mezőben.

### JetWooBuilder widgetek

A JetWooBuilder widgetjei csak részben kompatibilisek a Query ID-val. A Products Loop widget kivétel: nem támogatja megfelelően a Query ID alapú szűrést, és a Query ID megadása elronthatja a szűrést. Egy oldalon legfeljebb egy Products Loop legyen, és ne adj neki Query ID-t.

A WooCommerce shortcode támogatja a Query ID-t, így szolgáltatóként használható. A Query ID-t a class attribútumban add meg:

```text
[products class="query_id"]
```

## Gyakori korlátok

- **Az értékek nem egyeznek.** A Query ID kis- és nagybetű érzékeny, a felesleges szóköz és a másolással bekerült rejtett karakterek is elronthatják a kapcsolatot.
- **Duplikált szolgáltató.** Egy szolgáltató megkettőzésekor a másolat örökölheti ugyanazt a Query ID-t, ami ütközéshez vezet.
- **Use as Archive.** A **Use as Archive** funkció felülírhatja a várt lekérdezési viselkedést, és zavarhatja a szűrést.
- **Régi lekérdezési módszer.** A régi módszerek kompatibilitási gondokat okozhatnak, ezért a JetEngine Query Builder az ajánlott.
- **JetWooBuilder Products Loop.** Nem támogatja a Query ID-t, ezért a szűrés nem működhet vagy elromolhat. Oldalanként egy ilyen widgetet használj, Query ID nélkül.

## Gyakori kérdések

| Kérdés | Válasz |
| --- | --- |
| Mi a Query ID, és mikor kell? | Szöveges azonosító, amely a szűrőt egy adott szolgáltatóhoz köti. Kell, ha több szolgáltató van az oldalon, ha Query Buildert használsz, vagy ha a szűrőnek csak egy adott widgetre kell hatnia. Egyetlen szolgáltatónál általában üresen hagyható. |
| Hogyan kötök egy szűrőt egy Listing Gridhez, Loop Gridhez vagy Map Listinghez? | Add meg ugyanazt a Query ID-t a szűrőn és a szolgáltató beállításaiban, kis- és nagybetűre és szóközökre figyelve. |
| Mi a helyzet a Bricks Query Loop és több szolgáltató esetén? | Minden szolgáltatónak egyedi Query ID kell, a szűrőt a megegyező azonosító köti a kívántra. Ha több szolgáltató ugyanazt az azonosítót használja, a szűrők egyszerre hathatnak mindegyikre. |
| Mindig kell Query ID? | Nem, egy szolgáltatónál nem kötelező. |
| Mi történik, ha eltér az érték? | A kapcsolat megszakad, és a szűrő nem hat a kívánt widgetre. |
| Minden szolgáltatóval működik? | Nem. A JetWooBuilder Products Loop widget nem támogatja, és elromolhat tőle. |
| A szűrőm nem működik. | Ellenőrizd a Query ID-k egyezését, az alkalmazási módot, a szolgáltató engedélyezését és a [Hibaelhárítás](https://hub.hellowp.io/hu/plugins/jet-smart-filters/hibaelharitas/) fejezet pontjait. |
