# Szűrés egyéni dátumtartománnyal

> A választható dátumok korlátozása a Dátumtartomány és a Dátum szerinti időszak szűrőben: rögzített dátumok, current és today kifejezések.

Az **Available dates range** (Custom dates) beállítással megadhatod, hogy a látogató mely dátumok közül választhat. Így a szűrő a friss vagy közelgő eseményekre, tranzakciókra, tartalmakra irányítja a figyelmet. Példák: termékek szűrése elérhetőségi dátum szerint, események szűrése közelgő dátumra, pénzügyi kimutatás egy időszakra, utazási ajánlatok egy időtartamon belül, feladatok határidő szerint.

A leírás a **Dátumtartomány** szűrőt mutatja események szűrésén, a **Dátum szerinti időszak** szűrőnél ugyanígy működik.

## Előkészület

A szűrendő bejegyzések dátumát tárolhatja a **Date**, **Datetime** vagy **Advanced Date** metamező, vagy használhatod a közzététel/módosítás dátumát ([Szűrés a közzététel és a módosítás dátuma szerint](https://hub.hellowp.io/hu/plugins/jet-smart-filters/megjelenites-datum-bejegyzes-modositas/)).

Példa: egy „Events” egyéni bejegyzéstípus a **JetEngine → Post Types** oldalon, **Media** és **Date** metamezővel.

- A **Media** metamezőnél állítsd be a **Value format** értékét, hogy az érték helyesen kerüljön az adatbázisba.
- A **Date** és **Datetime** metamezőnél kapcsold be a **Save as timestamp** kapcsolót.
- Mentsd az **Add Post Type** vagy **Update Post Type** gombbal, és vegyél fel néhány bejegyzést.

A bejegyzések megjelenítéséhez készíts listázó elemet (**JetEngine → Listing → Add New**: **Listing source** = **Posts**, **From post type** = az új típus, megjelenítés **Elementor**, **Blocks (Gutenberg)** vagy **Bricks**). A dinamikus mezők: **Dynamic Field** a címhez, **Dynamic Image** a képhez, **Dynamic Field** a dátumhoz **Meta Data** forrással. Mivel a dátum időbélyegként tárolódik, kapcsold be a **Filter field output** kapcsolót, és válaszd a **Format date** callbacket.

## A szűrő beállítása

1. **Smart Filters → Add New**, a szűrőtípus legyen **Dátumtartomány**.
2. A **Szűrés szerint** értéke **Metaadat dátuma** (a metamezőben tárolt dátumhoz) vagy **Bejegyzés dátuma** (a közzétételi/módosítási dátumhoz). Metamezőnél a **Query Variable** mező kötelező: a dátum metamező nevét (azonosítóját) írd bele, például `date`.
3. Az **Available dates range** listában válaszd a **Custom dates** értéket. Megjelenik a **Választható legkorábbi dátum** és a **Választható legkésőbbi dátum** mező.
4. Add meg a korlátokat, majd kattints az **Update** gombra.

Az **Available dates range** értékei: **All dates** (minden nap), **Future dates** (jövőbeli napok), **Past dates** (múltbeli napok), **Custom dates** (egyéni korlátok).

![A Dátumtartomány szűrő egyéni dátumok beállításával](./kepek/megjelenites-datum-egyeni-tartomany.webp)

*A Dátumtartomány szűrő egyéni dátumok beállításával* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-smart-filters)

A képen a **Custom dates** érték mellett látszik a két korlátmező és a megadható formátumok leírása.

## A korlátok megadása

| Megadás | Jelentés |
| --- | --- |
| `2024-02-15` | Rögzített dátum, `ÉÉÉÉ-HH-NN` formátumban. |
| `current - current - 15` | A `current` kulcsszó az aktuális évet, hónapot vagy napot jelenti. Ez az aktuális év és hónap 15. napja. |
| `today` | A mai nap. |
| `today + 3 days` | Műveletek: `+` vagy `-`, egy szám és egy egység (day, week, month, year, többesszámban is). |
| (üres mező) | Nincs korlátozás. |

Példák a nyilvános oldalon:

- Legkorábbi `2024-02-15`, legkésőbbi `2024-02-25`: a naptárból csak a két dátum közti napok választhatók.
- Legkorábbi `current - current - 1`, legkésőbbi `current - current - 15`: az aktuális hónap 1. és 15. napja közötti időszak.
- Legkorábbi `today - 3 days`, legkésőbbi `today + 3 days`: a mai naptól számított három nappal korábbi és későbbi nap között választhatsz. Ha ma március 4., ez március 1. és 7. közé esik.

## A szűrő az oldalon

Tedd a **Date Range Filter** widgetet (blokkot, elemet) az oldalra: a **Select filter** mezőben válaszd ki a szűrőt, a **This filter for** mezőben a **JetEngine** szolgáltatót, alá a **Listing Grid** widgetet. Ha például március 1. és 7. közötti tartományt választasz, és az **Apply** gombra kattintasz, a lista csak a tartományba eső eseményt mutatja.
