Oldaltérkép-hookok: gyorsítótár, Google News, WooCommerce-kizárás és videótérkép
Szűrő-hookok az XML-oldaltérképekhez: a gyorsítótár időtartama, a Google News kiadványneve, az elfogyott termékek kizárása és a videótérkép tartalma, valamint újragenerálása.
Ez a fejezet az XML-oldaltérképek (köztük a Google News és a videótérkép) szűrőit gyűjti össze. 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. A térképek beállításairól az XML- és képtérkép, a Google News térkép és a videótérkép fejezet szól.
| Hook | Legkisebb verzió | Mire jó |
|---|---|---|
seopress_sitemaps_cache_duration |
9.3 | Az oldaltérkép lapjainak módosítási dátumait tároló gyorsítótár élettartama. |
seopress_sitemaps_xml_news_name |
8.1 | A Google News térkép kiadványneve. |
seopress_sitemaps_single_query |
1.0 | Egy tartalomtípus térképének lekérdezése (például az elfogyott termékek kizárása). |
seopress_pro_video_sitemap_content |
6.5, 9.1 | A tartalom, amelyben a SEOPress új videót keres. |
seopress_pro_video_sitemap_builder_content |
10.0 | A lapszerkesztőből (page builder) összegyűjtött kiegészítő tartalom a videókereséshez. |
seopress_video_regeneration_total_count_posts, seopress_video_regeneration_increment, seopress_video_regeneration_query |
7.2 | A videótérkép újragenerálás eszköze: darabszám, lépésköz és lekérdezés. |
A gyorsítótár időtartama
Szekció neve “A gyorsítótár időtartama”Ha egy tartalomtípusnak több lapozott térképe van (a lapokon alapból legfeljebb 1000 URL lehet), a SEOPress minden lap lastmod dátumát egyetlen lekérdezéssel számolja ki, és az eredményt tranziensben tárolja. A tranziens neve seopress_sitemap_lastmod_all_<tartalomtípus>_<URL-ek száma lapon>, az alapértelmezett élettartama 12 óra.
A seopress_sitemaps_cache_duration szűrő ezt az időtartamot adja át másodpercben. Visszatérési értéknek másodpercben megadott számot adj vissza.
add_filter( 'seopress_sitemaps_cache_duration', 'sajat_terkep_gyorsitotar' );function sajat_terkep_gyorsitotar( $masodperc ) { // 1 óra a 12 helyett. return HOUR_IN_SECONDS;}Rövidebb időtartamnál a lapozott térképek dátumai hamarabb frissülnek, de gyakrabban fut a nagyobb lekérdezés. Hosszabb időtartamnál ritkábban, de a lastmod értékek később követik a változásokat.
A Google News kiadványneve
Szekció neve “A Google News kiadványneve”A Google News térkép minden bejegyzése tartalmazza a kiadvány nevét, amit a Google News térkép beállításainál adtál meg. A seopress_sitemaps_xml_news_name szűrő ezt a szöveget adja át (a SEOPress már XML-biztossá tette), és szöveget kell visszaadnod. Hasznos, ha például nyelvenként vagy tartalomtípusonként más nevet szeretnél.
add_filter( 'seopress_sitemaps_xml_news_name', 'sajat_hirek_neve' );function sajat_hirek_neve( $nev ) { return 'Minta Hírportál';}Elfogyott WooCommerce-termékek kizárása a térképből
Szekció neve “Elfogyott WooCommerce-termékek kizárása a térképből”A seopress_sitemaps_single_query szűrő egy tartalomtípus térképének get_posts() lekérdezési paramétereit adja át. Két paramétert kap:
| Paraméter | Jelentése |
|---|---|
$args |
A lekérdezés paramétereinek tömbje. |
$path |
A tartalomtípus azonosítója (például product, page). |
Visszatérési értéknek a módosított tömböt add vissza. A SEOPress is ezen a szűrőn át veszi ki a WooCommerce kosár, pénztár és fiók oldalait, ha ezeknél bekapcsoltad a noindex jelölést.
Az elfogyott termékek kizárása:
add_filter( 'seopress_sitemaps_single_query', 'sajat_elfogyott_kizarasa', 10, 2 );function sajat_elfogyott_kizarasa( $args, $path ) { if ( 'product' === $path ) { $args['meta_query'][] = array( 'key' => '_stock_status', 'value' => 'outofstock', 'compare' => '!=', ); } return $args;}Ugyanígy szűkítheted más feltétellel is a térképet: a $args tömbben a get_posts() bármelyik paramétere módosítható. A beépített tömb alapból a posts_per_page, offset, order, orderby, post_type, post_status, lang és has_password kulcsokat tartalmazza, termékeknél pedig egy tax_query is van benne, amely kiveszi a katalógusból kizárt termékeket. Ezért a tax_query és a meta_query kulcsokhoz hozzáadj ([]), ne felülírd őket.
A videótérkép tartalma
Szekció neve “A videótérkép tartalma”A videótérkép (és a videó séma automatikus kitöltése) a bejegyzés tartalmában keres YouTube-videókat.
seopress_pro_video_sitemap_content: a keresett tartalmat adja át szövegként, a bejegyzés azonosítójával együtt ($content,$post_id). Visszatérési értéknek a kiegészített vagy átírt szöveget add vissza. Mivel a videótérkép és a videó séma ugyanazt a keresést használja, a módosításod mindkettőre érvényes.seopress_pro_video_sitemap_builder_content: a lapszerkesztőkből (page builderekből) összegyűjtött kiegészítő tartalmat adja át ($buffer,$post_id), amelyet a SEOPress a bejegyzés tartalmához fűz. Ezzel olyan szerkesztő támogatását adhatod hozzá, amelyet a SEOPress alapból nem ismer.
add_filter( 'seopress_pro_video_sitemap_content', 'sajat_video_tartalom', 10, 2 );function sajat_video_tartalom( $tartalom, $bejegyzes_id ) { // Egyéni mezőben tárolt videólink hozzáadása a kereséshez. $link = get_post_meta( $bejegyzes_id, 'sajat_video_url', true ); if ( $link ) { $tartalom .= ' ' . $link; } return $tartalom;}A videótérkép újragenerálás eszköze
Szekció neve “A videótérkép újragenerálás eszköze”A videótérkép beállításainál lévő újragenerálás eszköz a bejegyzéseket kis csomagokban dolgozza fel. Három szűrővel igazíthatod:
| Hook | Paraméterek | Mire jó |
|---|---|---|
seopress_video_regeneration_total_count_posts |
$total_count_posts |
Az összes feldolgozandó bejegyzés száma (egész szám). Az eszköz a bejegyzéseket a pending, draft, publish és future állapotok szerint számolja. |
seopress_video_regeneration_increment |
$increment |
Hány bejegyzést dolgoz fel egy lépésben (alapérték: 10). |
seopress_video_regeneration_query |
$args, $increment, $cpt, $offset |
A get_posts() lekérdezés paraméterei: tartalomtípusok, állapotok, eltolás. |
Mindegyik a módosított értéket várja vissza. Gyenge tárhelyen csökkentheted a lépésközt, erősebben növelheted.
add_filter( 'seopress_video_regeneration_increment', 'sajat_video_lepeskoz' );function sajat_video_lepeskoz( $lepeskoz ) { return 5;}Ha a lekérdezésből szűrsz ki bejegyzéseket, a darabszámot is igazítsd hozzá a seopress_video_regeneration_total_count_posts szűrővel, hogy az eszköz a végén megálljon.
Készült: