先日、WordPressで構築したブログのRSSフィードを表示すると「XML パースエラー: 実体の初めに XML またはテキスト宣言がありません」というエラーが出てきました。
今回はエラーの原因と確認項目について説明します。
XMLパースエラーの原因
これは、XMLファイルの先頭に空白の文字列やホワイトスペースが入ってしまっていることが原因です。エラーを特定するには下記の項目を順に確認しましょう。
- まずはアドオン。全部無効化して確認
- 次にfunctions.php。無駄な空白や行がないか確認
- wp-config.phpの前後に無駄な空白や行がないか確認
- wp-rss2.phpとwp-atom.phpの前後に無駄な空白や行がないか確認
- index.phpの前後に無駄な空白や行がないか確認
特に変更することの多いfunctions.phpをいじったら、一度動作を確認することをおすすめします。
上記を確認しても直らない場合
「wp-includes/feed-rss2.php」と「wp-includes/feed-rss2-comments.php」の2行目に「ob_end_clean();」を追加すると改善される場合もあるようです。
LINK:PHP: ob_end_clean
Related Posts