钩子文档

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.

User Contributed Notes

  1. Skip to note 2 content

    // 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;
    } );