【WordPress】XMLサイトマップ生成機能で投稿者別サイトマップを削除する方法

【WordPress】XMLサイトマップ生成機能で投稿者別サイトマップを削除する方法

制作・開発

WordPress 5.5からWordPress標準機能として追加されたXMLサイトマップ生成機能のカスタマイズです。

今回はXMLサイトマップから投稿者別のサイトマップを削除する方法です。

XMLサイトマップから投稿者別のサイトマップを削除する

投稿者別のサイトマップを削除する場合、wp_sitemaps_add_providerフィルターフックを使用します。

XMLサイトマップを作成する種類別に処理ができるため、$nameusersが入っているときにfalseを返すことで投稿者別のサイトマップを削除できます。

add_filter(
    'wp_sitemaps_add_provider',
    function( $provider, $name ) {
        if ( 'users' === $name ) {
            return false;
        }
 
        return $provider;
    },
    10,
    2
);

特定のユーザーのみサイトマップから除外する方法

特定のユーザーのみ除外したい場合はwp_sitemaps_users_entryフィルターフックが使えます。

add_filter(
   'wp_sitemaps_users_entry',
   function ( $sitemap_entry, $user ) {
      // ユーザー名指定で除外する.
      if ( 'user_name' === $user->data->user_login ) {
         return [];
      }

      return $sitemap_entry;
   },
   10,
   2
);

参考

以下のページを参考にカスタマイズしました▼

In WordPress 5.5, a new feature is being introduced that adds basic, extensible …
make.wordpress.org