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

Позволяет изменить/удалить поставщика карты сайта (PHP объект отвечающий за создание карты сайта определенного типа: посты, юзеры) перед тем как он будет добавлен в список провайдеров.

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

add_filter( 'wp_sitemaps_add_provider', 'wp_kama_sitemaps_add_provider_filter', 10, 2 );

/**
 * Function for `wp_sitemaps_add_provider` filter-hook.
 * 
 * @param WP_Sitemaps_Provider $provider Instance of a WP_Sitemaps_Provider.
 * @param string               $name     Name of the sitemap provider.
 *
 * @return WP_Sitemaps_Provider
 */
function wp_kama_sitemaps_add_provider_filter( $provider, $name ){

	// filter...
	return $provider;
}
$provider(WP_Sitemaps_Provider)
Генератор карт сайта определенного типа (тип передается в параметре $name). Экземпляр класса WP_Sitemaps_Provider.
$name(строка)
Имя поставщика карт сайтов. Может быть: posts, taxonomies, users.

Примеры

0

#1 Удалим карту сайта Юзеров

Допустим мы перешли на страницу /wp-sitemap.xml и видим там ненужную нам ссылку на страницу со ссылками на авторов (карту сайта авторов).

Удалим карту сайта пользователей:

// удаляет провайдера пользователей из карты сайта
add_filter( 'wp_sitemaps_add_provider', 'kama_remove_sitemap_provider', 10, 2 );
function kama_remove_sitemap_provider( $provider, $name ) {

	if ( 'users' === $name ) {
		return false;
	}

	return $provider;
}

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

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

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

WP_Sitemaps_Registry::add_provider()
wp_sitemaps_add_provider
wp-includes/sitemaps/class-wp-sitemaps-registry.php 50
$provider = apply_filters( 'wp_sitemaps_add_provider', $provider, $name );

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

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