# Oldaltérkép-hookok: a térképek lekérdezéseinek szűrői

> Hét szűrő, amellyel az XML-térképek, a Google News térkép és a HTML-térkép tartalom- és kategória-lekérdezését módosíthatod.

Ez a fejezet az oldaltérképek lekérdezéseit módosító szűrőket gyűjti össze. Mindegyik egy `WP_Query`, `get_posts()`, `get_terms()` vagy `get_categories()` paramétertömbjét adja át, még a lekérdezés lefutása előtt. A tömböt módosítva és visszaadva szűkítheted vagy bővítheted, mi kerül a térképre. A hookok használatának általános szabályait a [Composer és hookok használata](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/fejlesztoknek-composer-es-hookok/) fejezet írja le. A kódot a gyermeksablonod `functions.php` fájljába vagy egy saját bővítménybe tedd.

| Hook | Legkisebb verzió | Paraméterek | Mit szűr |
|---|---|---|---|
| `seopress_sitemaps_single_query` | 2.4 | `$args`, `$path` | Egy tartalomtípus XML-térképének lekérdezése. Részletesen az [XML-térkép hookjainál](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/hook-terkep-xml-es-video-hookok/). |
| `seopress_sitemaps_single_term_query` | 2.4 | `$args`, `$path` | Egy taxonómia XML-térképének lekérdezése. A `$path` a taxonómia azonosítója. |
| `seopress_sitemaps_index_tax_query` | 2.4 | `$args`, `$tax_key` | A térképindex taxonómia-lekérdezése (a kategóriák és címkék száma, amelyből az index lapjai készülnek). |
| `seopress_sitemaps_index_gnews_query` | 2.4 | `$args` | A térképindexben a Google News térkép bejegyzésének alapjául szolgáló legfrissebb tartalom lekérdezése. |
| `seopress_sitemaps_single_gnews_query` | 2.4 | `$args` | A Google News térkép (`news.xml`) tartalmainak lekérdezése. |
| `seopress_sitemaps_html_query` | 2.4 | `$args`, `$cpt_key` | A HTML-térkép tartalom-lekérdezése tartalomtípusonként. |
| `seopress_sitemaps_html_cat_query` | 3.3.7 | `$args_cat_query` | A HTML-térkép kategória-lekérdezése a bejegyzéseknél. |

A hookoknak mindig a (módosított) tömböt kell visszaadniuk. A `meta_query`, `tax_query` és `date_query` kulcsokhoz hozzáadj, ne felülírd őket, mert a SEOPress ezekkel zárja ki például a noindex tartalmakat.

## Taxonómiák térképe

A taxonómiák térképének lekérdezése alapból a `taxonomy`, `offset`, `hide_empty` (igaz), `number`, `lang` és egy `meta_query` kulcsot tartalmaz. A `meta_query` a noindex értékű kategóriákat és címkéket zárja ki.

Az `seopress_sitemaps_single_term_query` szűrő egy taxonómia térképének lekérdezését módosítja. A `seopress_sitemaps_index_tax_query` szűrő a térképindex számlálását, vagyis azt, hogy hány kategória és címke tartozik a taxonómiához, így hány lapja lesz a térképnek. A két szűrőt tartsd összhangban: ha az egyikben szűkítesz, a másikban is tedd meg, különben az index több lapot sorol fel, mint amennyi tartalommal rendelkezik.

Példa: az üres kategóriák is kerüljenek a kategóriatérképre, de csak a `category` taxonómiánál:

```php
add_filter( 'seopress_sitemaps_single_term_query', 'sajat_ures_kategoriak', 10, 2 );
add_filter( 'seopress_sitemaps_index_tax_query', 'sajat_ures_kategoriak', 10, 2 );
function sajat_ures_kategoriak( $args, $taxonomia ) {
    if ( 'category' === $taxonomia ) {
        $args['hide_empty'] = false;
    }
    return $args;
}
```

## Google News térkép

A Google News térkép lekérdezése a kiválasztott tartalomtípusokból, `publish` állapotú, nem jelszóval védett tartalmakat kér le, dátum szerint rendezve. Csak az utolsó két napon belül közzétett tartalmak kerülnek bele (`date_query`), és a kiemelt (sticky) bejegyzések kimaradnak. A noindex tartalmakat a `meta_query` zárja ki.

A `seopress_sitemaps_single_gnews_query` szűrő ezt a tömböt adja át:

```php
add_filter( 'seopress_sitemaps_single_gnews_query', 'sajat_hirek_idoablak' );
function sajat_hirek_idoablak( $args ) {
    $args['date_query'] = array(
        array( 'after' => '1 day ago' ),
    );
    return $args;
}
```

A térképindexben a `news.xml` bejegyzés `lastmod` értékét a legutóbb módosított, indexelhető hír adja. Ennek lekérdezését (egy darab tartalom, módosítás szerint csökkenő sorrendben) a `seopress_sitemaps_index_gnews_query` szűrő módosítja:

```php
add_filter( 'seopress_sitemaps_index_gnews_query', 'sajat_index_hirek' );
function sajat_index_hirek( $args ) {
    $args['post_type'] = array( 'post' );
    return $args;
}
```

## HTML-térkép

A `seopress_sitemaps_html_query` szűrő a HTML-térkép minden tartalomtípusának lekérdezését átadja a tartalomtípus kulcsával (`$cpt_key`), így tartalomtípusonként más szabályt is megadhatsz. Példa: a bejegyzések közül csak a legutóbbi százat listázza:

```php
add_filter( 'seopress_sitemaps_html_query', 'sajat_html_terkep_lekerdezes', 10, 2 );
function sajat_html_terkep_lekerdezes( $args, $cpt_key ) {
    if ( 'post' === $cpt_key ) {
        $args['numberposts'] = 100;
    }
    return $args;
}
```

A `seopress_sitemaps_html_cat_query` szűrő a bejegyzésekhez tartozó kategóriák lekérdezését módosítja (a `get_categories()` paramétertömbje). A termékkategóriák lekérdezését külön szűrő kezeli, azt a [HTML-térkép hookjai](https://hub.hellowp.io/hu/plugins/wp-seopress-pro/hook-terkep-html-terkep-hookok/) fejezet írja le. Példa: a kategóriák nevük szerint, csökkenő sorrendben jelenjenek meg:

```php
add_filter( 'seopress_sitemaps_html_cat_query', 'sajat_html_kategoriak' );
function sajat_html_kategoriak( $args ) {
    $args['orderby'] = 'name';
    $args['order']   = 'DESC';
    return $args;
}
```
