wp_sitemaps_add_provider
云策文档标注
概述
wp_sitemaps_add_provider 是一个 WordPress 过滤器钩子,用于在添加站点地图提供者之前进行过滤。它允许开发者修改或阻止特定提供者的添加。
关键要点
- 这是一个过滤器钩子,应用于 WP_Sitemaps_Provider 实例和提供者名称。
- 可用于禁用或修改站点地图提供者,例如用户或标签提供者。
- 与 wp_sitemaps_register_providers 和 wp_sitemaps_taxonomies 等钩子相关。
代码示例
// wp-sitemaps users disable
add_filter( 'wp_sitemaps_add_provider', function ( $provider, $name ) {
if ( 'users' === $name ) {
return false;
}
return $provider;
}, 10, 2 );
add_filter( 'wp_sitemaps_register_providers', function ( $providers ) {
unset( $providers['users'] );
return $providers;
} );
// wp-sitemaps tags disable
add_filter( 'wp_sitemaps_taxonomies', function ( $taxonomies ) {
unset( $taxonomies['post_tag'] );
return $taxonomies;
} );注意事项
- 返回 false 可以阻止特定提供者的添加。
- 钩子从 WordPress 5.5.0 版本开始引入。
- 在 WP_Sitemaps_Registry::add_provider() 方法中使用。
原文内容
Filters the sitemap provider before it is added.
Parameters
$providerWP_Sitemaps_Provider-
Instance of a WP_Sitemaps_Provider.
$namestring-
Name of the sitemap provider.
Source
$provider = apply_filters( 'wp_sitemaps_add_provider', $provider, $name );
Changelog
| Version | Description |
|---|---|
| 5.5.0 | Introduced. |
Skip to note 2 content
wolkanca
// wp-sitemaps users disable add_filter( 'wp_sitemaps_add_provider', function ( $provider, $name ) { if ( 'users' === $name ) { return false; } return $provider; }, 10, 2 ); add_filter( 'wp_sitemaps_register_providers', function ( $providers ) { unset( $providers['users'] ); return $providers; } ); // wp-sitemaps tags disable add_filter( 'wp_sitemaps_taxonomies', function ( $taxonomies ) { unset( $taxonomies['post_tag'] ); return $taxonomies; } );