WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

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', 'wp_kama_sitemaps_posts_entry_filter', 10, 3 );

/**
 * Function for `wp_sitemaps_posts_entry` filter-hook.
 * 
 * @param array   $sitemap_entry Sitemap entry for the post.
 * @param WP_Post $post          Post object.
 * @param string  $post_type     Name of the post_type.
 *
 * @return array
 */
function wp_kama_sitemaps_posts_entry_filter( $sitemap_entry, $post, $post_type ){

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

Примеры

0

#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://example.com/template-sticky/</loc>
	</url>
	...

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

...
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
	<url>
		<loc>http://example.com/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 164
$sitemap_entry = apply_filters( 'wp_sitemaps_posts_entry', $sitemap_entry, $post, $post_type );

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

Использование не найдено.
2 комментария
    Войти