WordPressのRSSでエラー

WordPressのRSSでエラーになった場合、RSS表示で先頭に空行が出力されないようにする方法は複数あります。

functions.phpを修正する方法

この方法は、functions.phpの先頭の「<?php」の前後の空行を消し、同様に最後の「?>」の前後の空行を消すということです。これらの空行が、RSS表示の際になぜか出力されてしまう場合があるようです。上記以外の、途中の行に見やすくするための空行があっても、どうやら影響無いようです。

この方法のメリットは、WordPressのシステムのファイルの変更ではないので、WordPressのシステムをアップグレード後に変更し直す必要がないことです。

私の場合、WordPressのシステムのファイルを変更しても解決しなかったときに、functions.phpの末尾の「?>」の後の空行を削除したところ、エラーが出なくなりました。

WordPressのシステムのファイルに追記する方法

下記のようなファイルが対象です。

wp-includes/feed-rss2.php
wp-includes/feed-rss2-comments.php
wp-includes/feed-rss.php

これら3ファイルの先頭行の<?phpの次行に下記のように追記します。

ob_end_clean();

なお、追記する位置と内容が異なる方法もあり、検索すると見つかります。

WordPressをアップグレードすると上書きされてしまうため、再度書き換える必要があります。

参考サイト

6w6a's blog - WordPressのRSSパースエラー
http://6w6a.com/2008/11/wordpress-rss-parse-error.html(リンク切れになっていました。2016/8/16)

kngy.net-WordPressのRSSエラー(XMLパースエラー)の対処法
http://kngy.net/2010/08/24/wordpress%E3%81%AErss%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AE%E5%AF%BE%E5%87%A6%E6%B3%95/

コメントを残す