WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru

wp_sitemaps_posts_entry хук-фильтр . WP 5.5.0

Позволяет добавить дополнительные теги (поля) для отдельных URL карты сайта записей (постов): changefreq, priority, lastmod.

Протокол sitemaps поддерживает четыре атрибута для каждого элемента <url> карты сайта (по умолчанию в WP используется только <loc>) Остальные можно добавить через этот фильтр. Подробнее читайте в статье Карта сайта WordPress.

Аналогичные фильтры, которые можно использовать для добавления дополнительных тегов: changefreq, priority, lastmod к ссылкам на страницы элементов таксономий и юзеров.

Использование

add_filter( 'wp_sitemaps_posts_entry', 'filter_function_name_5210', 10, 3 );
function filter_function_name_5210( $sitemap_entry, $post, $post_type ){
	// filter...

	return $sitemap_entry;
}
$sitemap_entry(массив)
Массив текущих элементов тега <url> в карте сайта.
$post(WP_Post)
Объект записи, для которого создается ссылка в карте сайта.
$post_type(строка)
Название типа записи. Можно получить из предыдущего параметра так: $post->post_type.

Примеры

#1 Добавим тег <lastmod> в карту сайта записей (постов)

add_filter( 'wp_sitemaps_posts_entry', 'kama_sitemaps_posts_entry', 10, 2 );
function kama_sitemaps_posts_entry( $entry, $post ) {
	$entry['lastmod'] = $post->post_modified_gmt;

	return $entry;
}

Было до хука:

...
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<url>
		<loc>http://wptest.ru/template-sticky/</loc>
	</url>
	...

Стало после хука:

...
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<url>
		<loc>http://wptest.ru/template-sticky/</loc>
		<lastmod>2020-02-28 21:36:01</lastmod>
	</url>
	...

Список изменений

С версии 5.5.0 Введена.

Где вызывается хук

WP_Sitemaps_Posts::get_url_list()
wp_sitemaps_posts_entry
wp-includes/sitemaps/providers/class-wp-sitemaps-posts.php 134
$sitemap_entry = apply_filters( 'wp_sitemaps_posts_entry', $sitemap_entry, $post, $post_type );

Где используется хук в ядре WordPress

Использование не найдено.
Комментариев нет