# Dynamic Posts lekérdezési szűrők: dátum, kifejezések, szerző, meta kulcs

> A Lekérdezési szűrő szakasz beállításai a Dinamikus bejegyzések widgetben: dátum, kifejezések és osztályozások, szerző, meta kulcs.

A **Lekérdezési szűrő** szakasz a kiválasztott lekérdezés eredményét szűkíti. A **Szerint** mezőben egyszerre több szűrőtípust is megadhatsz: **Dátum**, **Kifejezések és osztályozások (taxonomy)**, **Szerző**, **Meta kulcs**, **Lekérdezés ID**. Minden kiválasztott típushoz külön beállítócsoport jelenik meg. A szakasz csak bizonyos lekérdezéstípusoknál látszik (például **Bejegyzéstípusból**, **ACF kapcsolat**, **ID-lista**, **Kiemelt bejegyzések**, **Keresési eredmények**).

## Dátum

A dátumszűrő az alapján szűri a listát, mikor tették közzé vagy mikor módosították a bejegyzést. A **Dátumszűrő** értékei:

| Érték | Mit ad vissza |
|---|---|
| **Nincs szűrő** | Nem szűr dátum szerint. |
| **Múltbeli** | A múltbeli dátumú bejegyzéseket. |
| **Ütemezett** | A jövőbeli dátumú bejegyzéseket. |
| **Ma** | A ma közzétett vagy módosított bejegyzéseket. |
| **Tegnap** | A tegnapiakat. |
| **Elmúlt napok**, **Elmúlt hetek**, **Elmúlt hónapok**, **Elmúlt évek** | Az elmúlt megadott számú időegység bejegyzéseit. A számot az **Eltelt (napok/hónapok/évek) száma** mezőben adod meg. |
| **Időszak** | Két dátum közötti bejegyzéseket. |

![A Lekérdezési szűrő szakasz dátumszűrővel](./kepek/dynamic-posts-szuro-datum.webp)

*A Lekérdezési szűrő szakasz dátumszűrővel* (https://minta-bolt.hu/wp-admin/post.php?post=23&action=elementor)

A **Dátummező** megmondja, melyik dátum alapján szűr:

- **Közzététel dátuma** (alapérték),
- **Módosítás dátuma**,
- **Meta érték**: egy egyéni mező dátuma.

Meta érték esetén a **Meta mező** kiválasztása mellett meg kell adnod a mezőben tárolt dátum PHP-formátumát a **Meta dátumformátum** mezőben (például `Y-m-d`). Az **Dátumformátum automatikus felismerése** gomb a bejegyzések tényleges értékeiből kitalálja a helyes formátumot: megerősítő ablakban mutatja a felismert formátumot és mintaértékeket, és csak jóváhagyás után alkalmazza.

Néhány további beállítás:

- **UTC-ként tárolva**: akkor kapcsold ki, ha a dátum nem UTC-ben van az adatbázisban (az ACF mezőknél ez a gyakoribb).
- **Dátumbeviteli mód** (**Időszak** esetén): **Statikus** (a **Kezdő dátum** és **Záró dátum** mezőben választasz) vagy **Dinamikus** (szövegként, például dinamikus címkével adod meg a két dátumot).
- **Ütemezett** szűrőnél az **A jövőbeli dátumok tartalmazzák a mai napot** (a jelölőnégyzet) kapcsoló dönti el, hogy a mai nap beleszámít-e.

## Kifejezések és osztályozások

Ez a szűrő a bejegyzések kategóriái, címkéi és más osztályozásai (taxonomy) szerint szűr. A **Típus** három értékből választ.

![A Lekérdezési szűrő szakasz kifejezésszűrővel](./kepek/dynamic-posts-szuro-kifejezesek.webp)

*A Lekérdezési szűrő szakasz kifejezésszűrővel* (https://minta-bolt.hu/wp-admin/post.php?post=23&action=elementor)

### Kifejezés kiválasztása

Először az **Osztályozások (taxonomy) kiválasztása** mezőben add meg a kívánt osztályozásokat. Alatta minden osztályozáshoz külön mezőben megadhatod a **felvett** és a **kizárt** kifejezéseket.

Több kifejezés felvételekor az **Bevont kifejezések operátora** dönt:

- **AND**: csak azok a bejegyzések jelennek meg, amelyeknek az összes kiválasztott kifejezésük megvan.
- **IN**: minden olyan bejegyzés megjelenik, amelynek legalább az egyik kiválasztott kifejezése megvan.

További beállítások:

- **Logikai kapcsolat**: több kiválasztott osztályozás közötti kapcsolat (**AND** vagy **OR**, alapérték: **OR**).
- **Gyermekkifejezések bevonása**: a kiválasztott kifejezések alárendelt kifejezései is számítanak (alapértelmezésben be van kapcsolva).
- **Aktuális bejegyzés dinamikus kifejezései**: bekapcsolva a felvett és kizárt mezők eltűnnek, és a lista azokra a bejegyzésekre szűkül, amelyek az aktuális bejegyzés kifejezéseit viselik. Ez a „kapcsolódó bejegyzések” listához hasznos.

### Bejegyzés metaadataiból származó kifejezés

Ennél a típusnál a kifejezéseket egy egyéni mezőből veszi a widget, és az eredmény a mezőben tárolt kifejezések szerinti lista. A lépések:

1. Válaszd ki a kiválasztott bejegyzéstípushoz elérhető osztályozásokat.
2. Állítsd be a logikai kapcsolatot a kiválasztott osztályozások között.
3. Add meg az egyéni mezőt a **Bejegyzéshez tartozó kifejezés egyéni metamezője** beállításban.

A mezőnek kifejezés-azonosítókat tartalmazó tömböt vagy vesszővel elválasztott listát kell visszaadnia (például `5,27,88`). Létrehozhatsz erre ACF **Taxonomy** típusú mezőt, és azt adhatod meg a harmadik lépésben.

### Dinamikus karakterlánc

Itt a **Bejegyzéshez tartozó kifejezés szöveges mezője** beállításba a kifejezés slugját írod be (akár dinamikus címkével), és a lista erre szűr. Így például a kategóriák közül szűrheted ki a rács tartalmát.

## Szerző

A szerzőszűrő azokat a bejegyzéseket választja ki, amelyeket egy adott szerző, az aktuális szerző vagy az aktuális felhasználó írt. A **Típus** három értéke (az ikonok súgószövege): **Válassz szerzőt**, **Aktuális szerző**, **Aktuális felhasználó**.

![A Lekérdezési szűrő szakasz szerzőszűrővel](./kepek/dynamic-posts-szuro-szerzo.webp)

*A Lekérdezési szűrő szakasz szerzőszűrővel* (https://minta-bolt.hu/wp-admin/post.php?post=23&action=elementor)

- **Szerző bevonása**: azok a szerzők, akiknek a bejegyzései megjelenjenek.
- **Szerző kizárása**: azok a szerzők, akiknek a bejegyzései kimaradnak.

Az **Aktuális szerző** és az **Aktuális felhasználó** típusnál a lista a bejelentkezett szerző, illetve felhasználó bejegyzéseit mutatja, nem kell szerzőt választanod.

## Meta kulcs

A meta kulcs szűrő egy egyéni mező értéke alapján szűr.

![A Lekérdezési szűrő szakasz meta kulcs szűrővel](./kepek/dynamic-posts-szuro-metakulcs.webp)

*A Lekérdezési szűrő szakasz meta kulcs szűrővel* (https://minta-bolt.hu/wp-admin/post.php?post=23&action=elementor)

A beállítások:

1. **Meta mező**: az egyéni mező kulcsa vagy neve.
2. **Adatfeldolgozó** (operátor): az összehasonlítás módja. Az alapérték az `=`, de a legördülő listában sok más is van.
3. **Érték**: amivel a mező értékét összeveted.

Például ha a bejegyzésekhez van egy szöveg típusú egyéni mező, és az egyik bejegyzésben az értéke `1`, akkor a `=` operátorral és az `1` értékkel csak az a bejegyzés jelenik meg a rácsban.

## Lekérdezés ID

A **Lekérdezés ID** szűrőnél egyedi azonosítót adsz a lekérdezésnek a **Lekérdezés ID** mezőben. Ez teszi lehetővé, hogy a lekérdezést kiszolgálóoldalon, kóddal tovább lehessen szűrni.

![A Lekérdezési szűrő szakasz a Lekérdezés ID szűrővel](./kepek/dynamic-posts-lekerdezes-id-szuro.webp)

*A Lekérdezési szűrő szakasz a Lekérdezés ID szűrővel* (https://minta-bolt.hu/wp-admin/post.php?post=24&action=elementor)

A képen a **Szerint** mezőben a **Lekérdezés ID** van kiválasztva, alatta a **Lekérdezés-ID-szűrő** csoportban a **Lekérdezés ID** mező látszik, a leírása szerint egy egyedi azonosítót kell megadnod, amely engedélyezi a szerveroldali szűrést.

### A lekérdezés szűrése kóddal

Az Elementor saját Posts widgetjéhez létezik egy Query ID nevű szűrő, a Dynamic Content for Elementor ugyanezt a lehetőséget több widgetében is megvalósítja. A **Lekérdezés ID** mezőbe írt azonosítóhoz egy `dynamicooo/query/{query_id}` nevű horgot (hook) csatolhatsz, amelyben módosíthatod a `WP_Query` objektumot. Az `{query_id}` helyére a mezőbe írt azonosító kerül.

Példa: ha a **Lekérdezés ID** értéke `sajat_lekerdezes`, a lekérdezés két egyedi bejegyzéstípusra szűkíthető a sablon vagy a gyermektéma `functions.php` fájljában:

```php
function sajat_lekerdezes_szuro( $query ) {
    $query->set( 'post_type', [ 'custom-post-type1', 'custom-post-type2' ] );
}
add_action( 'dynamicooo/query/sajat_lekerdezes', 'sajat_lekerdezes_szuro' );
```

A horog ezeknél a widgeteknél használható: **Dinamikus bejegyzések**, **Dynamic Products**, **Dynamic Products On Sale**, **Products in the Cart**, **Product Upsells**, **Product Cross-Sells**, **ACF Relationship**, **Favorites**, **Woo Wishlist**, **Kiemelt bejegyzések**, **Keresési eredmények** és **Aktuális felhasználó bejegyzései**.

Az Elementor saját `elementor/query/{$query_id}` horgát ezek a widgetek nem használják, ezért csak a `dynamicooo/query/…` horog működik.
