WordPressでfeed(RSSやATOM)のauthorを消す・変更する方法。

WordPressでRSS feedやatom feedが出力できるが、IEなどで整形してみてみるとauthorにWordPressのユーザー名が表示されている。

<entry>
<author>
<name>admin</name>
<uri>http://hogehoge</uri>
</author>
 ここに編集者のユーザー名を表示したくない。 どうやら、WordPressのwp-includesフォルダに存在するfeedのテンプレートを編集し、authorを編集すれば良いようだ。 feed-atom.php feed-atom-comments.php feed-rdf.php feed-rss.php feed-rss2.php feed-rss2-comments.php ただ、wp-includesフォルダのファイルを修正したくない。 feed-atom.phpを見てると、the\_author the\_author_meta あたりをfilterしてあげれば良さそう。 

<entry>
<author>
<name><?php the_author() ?></name>
<?php $author_url = get_the_author_meta(&#039;url&#039;); if ( !empty($author_url) ) : ?>
<uri><?php the_author_meta(&#039;url&#039;)?></uri>
<?php endif;
/**
 * Fires at the end of each Atom feed author entry.
 *
 * @since 3.2.0
 */
do_action( &#039;atom_author&#039; );
?>
</author> ということで、テンプレートフォルダのfunctions.phpに以下を追加。 


function delete_feed_author($author) {
	if(is_feed()){
		$author=get_bloginfo( 'name' ) ;
	}
	return $author;
}
add_filter( 'the_author', 'delete_feed_author');
function delete_feed_author_url( $author_meta, $user_id ) {
	if(is_feed()){
		$author_meta=get_bloginfo( 'url' ) ;
	}
	return $author_meta;
}
add_filter( 'the_author_url', 'delete_feed_author_url');
 これでauthorとuriを変更できた。