WordPressのRSSフィードにはデフォルトで投稿者名が表示されます。しかし、場合によっては投稿者名を非表示にしたいこともあるでしょう。この記事では、WordPressのコアファイルには一切手を加えずに、the_authorフィルターだけでRSSフィードから投稿者名を非表示にする方法を紹介します。
RSSフィードに投稿者名が表示される仕組み
WordPressのRSSフィード(wp-includes/feed-rss2.php)では、投稿者名が<dc:creator>タグを通じて出力されます。このファイルには以下のコードが含まれており、投稿者名がRSSフィードに埋め込まれます。
<dc:creator><![CDATA[<?php the_author(); ?>]]></dc:creator>
the_author()は内部でapply_filters('the_author', get_the_author())を実行しています。つまり、このファイル自体を編集しなくても、the_authorフィルターに割り込むだけでRSSフィード上の投稿者名を変更・非表示にできます。
feed-rss2.phpのようなWordPressコアファイルは、WordPress本体をアップデートするたびに元のファイルで上書きされます。直接編集した内容は次のアップデートで跡形もなく消え、特に自動更新が有効なサイトでは気づかないうちに設定が元に戻ってしまいます。コアファイルの直接編集は避け、functions.phpでのフィルター登録など、アップデートの影響を受けない方法で実装してください。the_authorフィルターで投稿者名を非表示にする
子テーマのfunctions.phpに以下のコードを追加します。is_feed()でRSSフィード表示時かどうかを判定しているため、通常のページ表示では投稿者名はそのまま表示され、RSSフィードでのみ非表示になります。
// RSSフィードでのみ投稿者名を非表示にする
add_filter('the_author', function ($author) {
return is_feed() ? '' : $author;
});
この方法なら、WordPressのアップデートやテーマの切り替えの影響を受けず、functions.phpに1箇所追加するだけで済みます。
変更を確認する
コードを追加したら、ブラウザでRSSフィードを開いて変更が適用されているか確認してください。
https://example.com/feed/
(example.com の部分は自身のサイトのドメインに変更してください)
反映が確認できない場合は、キャッシュプラグインやブラウザ・CDNのキャッシュによってRSSフィードが一時的に古い内容のまま表示されている可能性があります。キャッシュをクリアしたうえで再度確認してください。
関連記事
よくある質問(FAQ)
まとめ
RSSフィードから投稿者名を非表示にするには、コアファイル(feed-rss2.php)を直接編集するのではなく、the_authorフィルターにis_feed()の条件分岐を組み合わせてfunctions.phpに実装するのが安全で確実な方法です。コアファイルの直接編集はWordPressのアップデートで必ず失われるため避け、フィルター・フックを使った実装を心がけましょう。

