Oldaltérkép-hookok: a HTML-térkép címei, dátuma, termékkategóriái és hierarchiája
Szűrő-hookok a HTML-webhelytérképhez: bejegyzéscím, dátumformátum, kategóriák neve és kimenete, a termékkategória azonosítója és az egyéni tartalomtípusok hierarchikus megjelenítése.
Ez a fejezet a látogatóknak szánt HTML-térkép szűrőit gyűjti össze. A térkép beállításairól a HTML-térkép fejezet szól, a hookok használatának általános szabályait a Composer és hookok használata 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ó | Mire jó |
|---|---|---|
seopress_sitemaps_html_post_title |
7.2 | Egy elem címének módosítása. |
seopress_sitemaps_html_post_date_format |
7.8 | Az elemek után megjelenő dátum formátuma. |
seopress_sitemaps_html_display_terms_only |
8.9 | Csak a kategóriák listázása a tartalmak nélkül. |
seopress_sitemaps_html_term_name |
8.9 | A kategória nevének módosítása a csak-kategória listában. |
seopress_sitemaps_html_terms_output |
8.9 | A csak-kategória lista kész HTML-je. |
seopress_sitemaps_html_product_cat_slug |
6.9 | A termékek csoportosításához használt taxonómia azonosítója. |
seopress_sitemaps_html_hierarchical_terms_query, seopress_sitemaps_html_hierarchical_tax_query |
7.0 | Egyéni tartalomtípus hierarchikus megjelenítése egyéni taxonómia szerint. |
Az elemek címe
Szekció neve “Az elemek címe”A seopress_sitemaps_html_post_title szűrő minden listaelem címét átadja szövegként (alapból a bejegyzés címe). Visszatérési értéknek a megjelenítendő szöveget add vissza. Figyelem: a kimenet nincs külön escape-elve, ezért a visszaadott szöveget te biztosítsd.
add_filter( 'seopress_sitemaps_html_post_title', 'sajat_terkep_cim' );function sajat_terkep_cim( $cim ) { // Rövidítés 60 karakterre. return wp_trim_words( $cim, 10, '…' );}A dátum formátuma
Szekció neve “A dátum formátuma”Ha a térképen nem kapcsoltad ki a közzétételi dátum megjelenítését, az minden cím után látszik, alapból j F Y formátumban (például 5 november 2026). A seopress_sitemaps_html_post_date_format szűrő ezt a PHP dátumformátumot adja át; szöveget kell visszaadnod.
add_filter( 'seopress_sitemaps_html_post_date_format', 'sajat_terkep_datum' );function sajat_terkep_datum( $formatum ) { return 'Y. m. d.';}Csak a kategóriák listázása
Szekció neve “Csak a kategóriák listázása”A [seopress_html_sitemap] shortcode egy terms_only attribútumot is ismer (alapból kikapcsolt), amellyel a tartalmak helyett csak a kategóriák listája jelenik meg. Három szűrő igazítja a kimenetet:
| Szűrő | Paraméterek | Mit ad vissza |
|---|---|---|
seopress_sitemaps_html_display_terms_only |
$terms_only, $cpt_key |
Igaz/hamis érték: tartalomtípusonként dönthetsz, hogy csak a kategóriák látszanak-e. |
seopress_sitemaps_html_term_name |
$nev, $term |
A kategória megjelenítendő neve (szöveg). |
seopress_sitemaps_html_terms_output |
$html, $terms, $cpt_key |
A kész lista HTML-je. |
A kategóriák listája egy sp-wrap-terms osztályú elemben, sp-list-terms osztályú felsorolásként jelenik meg, a listaelemek sp-term-item osztállyal.
// A termékeknél csak a kategóriák látszanak.add_filter( 'seopress_sitemaps_html_display_terms_only', 'sajat_csak_kategoria', 10, 2 );function sajat_csak_kategoria( $csak_kategoria, $cpt_key ) { return 'product' === $cpt_key ? true : $csak_kategoria;}
// A kategórianév mögé a bejegyzések száma.add_filter( 'seopress_sitemaps_html_term_name', 'sajat_kategoria_nev', 10, 2 );function sajat_kategoria_nev( $nev, $term ) { return $nev . ' (' . $term->count . ')';}A termékkategória azonosítója
Szekció neve “A termékkategória azonosítója”A HTML-térkép a WooCommerce termékeit a product_cat taxonómia kategóriái szerint csoportosítja. Ha a webhelyed másik taxonómiát használ, a seopress_sitemaps_html_product_cat_slug szűrő az alapértéket (product_cat) adja át, és a taxonómia azonosítóját kell visszaadnod.
add_filter( 'seopress_sitemaps_html_product_cat_slug', 'sajat_termek_taxonomia' );function sajat_termek_taxonomia( $taxonomia ) { return 'sajat_termek_kategoria';}Egyéni tartalomtípus hierarchikus megjelenítése
Szekció neve “Egyéni tartalomtípus hierarchikus megjelenítése”A beépített csoportosítás csak a bejegyzéseket (kategóriák szerint) és a termékeket (termékkategóriák szerint) ismeri. Egyéni tartalomtípust egyéni taxonómia szerint két szűrővel csoportosíthatsz, ha a Disable hierarchy kapcsoló ki van kapcsolva. Mindkettő első paramétere a tartalomtípus azonosítója ($cpt_key), és a visszaadott érték lesz a szűrő eredménye.
- A
seopress_sitemaps_html_hierarchical_terms_query(paraméterek:$cpt_key,$args_cat_query) azt adja vissza, mely kifejezések legyenek a csoportcímek. Add vissza aget_terms()eredményét. - A
seopress_sitemaps_html_hierarchical_tax_query(paraméterek:$cpt_key,$cat,$args) azt adja vissza, mely tartalmak kerüljenek az adott csoportba. Add vissza atax_querytömböt a$catkifejezéssel.
add_filter( 'seopress_sitemaps_html_hierarchical_terms_query', 'sajat_csoportok', 10, 2 );function sajat_csoportok( $cpt_key, $args_cat_query ) { if ( 'konyv' !== $cpt_key ) { return array(); } $args_cat_query['taxonomy'] = 'mufaj'; return get_terms( $args_cat_query );}
add_filter( 'seopress_sitemaps_html_hierarchical_tax_query', 'sajat_csoport_tartalma', 10, 3 );function sajat_csoport_tartalma( $cpt_key, $cat, $args ) { if ( 'konyv' !== $cpt_key ) { return array(); } return array( array( 'taxonomy' => 'mufaj', 'field' => 'term_id', 'terms' => $cat->term_id, ), );}Itt a konyv tartalomtípus és a mufaj taxonómia csak példa, a sajátodét írd be. Mivel a szűrők minden egyéni tartalomtípusra lefutnak, a nem érintett típusoknál üres tömböt adj vissza, így azoknál nincs csoportosítás.
Készült: