wp_get_sitemap_providers()


WordPressのwp_get_sitemap_providers()関数は、登録されているサイトマッププロバイダーのリストを取得するために使用されます。カスタムサイトマップを追加したり、デフォルトのサイトマップを操作する際に役立ちます。

構文

wp_get_sitemap_providers();
  • (array) — サイトマッププロバイダーの配列を返します。

例1: デフォルトのサイトマッププロバイダーを取得

登録されているすべてのサイトマッププロバイダーを取得します。

$providers = wp_get_sitemap_providers();

例2: サイトマッププロバイダーをフィルタリング

特定の条件でプロバイダーをフィルタリングします。

$filtered_providers = array_filter(wp_get_sitemap_providers(), function($provider) { return strpos($provider->name, 'post') !== false; });

例3: カスタムプロバイダーを追加

新しいサイトマッププロバイダーを登録します。

add_filter('wp_sitemaps_add_provider', function($providers) { $providers['custom'] = new Custom_Sitemap_Provider(); return $providers; });

例4: プロバイダーの名前を一覧表示

すべてのプロバイダー名を出力します。

foreach(wp_get_sitemap_providers() as $provider) { echo $provider->name; }

例5: 投稿タイプのサイトマップのみ取得

投稿タイプに関連するプロバイダーを取得します。

$post_providers = array_filter(wp_get_sitemap_providers(), function($p) { return $p instanceof WP_Sitemaps_Posts; });

例6: プロバイダーを削除

特定のプロバイダーを削除します。

add_filter('wp_sitemaps_add_provider', function($providers) { unset($providers['users']); return $providers; });

例7: カスタムプロバイダーの優先度を変更

プロバイダーの優先順位を調整します。

add_filter('wp_sitemaps_add_provider', function($providers) { $providers['custom']->priority = 10; return $providers; });

注意点

  • この関数はWordPress 5.5以降で利用可能です。
  • カスタムプロバイダーを追加する場合はWP_Sitemaps_Providerを継承する必要があります。
  • フィルタリングを行う際はパフォーマンスに注意してください。

関連機能: