WordPress全般

WordPress RSSフィードでエラーが発生した場合の解決方法

2015-12-11 18_02_24-wordpress - Google Search

WordPressでできたサイトで突然RSSフィードが届かなくなりました。Webサイトに行って、RssフィードのURLを叩いてみると下記のエラー。


XML Parsing Error: XML or text declaration not at start of entity
Location: 対象サイトのURL
Line Number 1, Column 3: <?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
--^

2週間くらい前まではRSSフィードが届いていたので、そこまでは正常に動いていました。そしてそのタイミングではサイトの更新は一切行っていません。

結論からいうと、解決したのですが、人によって効果のあった対応方法が違うようです。

ob_end_clean()を入れる

エラーの内容から生成されたXMLファイルの先頭に空白行が入っていることが不具合の原因ということがわかります。
そこで/wp-include/feed-rss2.php の先頭に下記の一文をいれて、空白行を削除します。

[crayon]

[/crayon]

私のケースではこれでエラーが解消されました。
ちなみに私はfeed=rss2を指定しているのでこのファイルを修正しましたが、他の形式を指定している方はfeed-rss.phpやfeed-xxxを修正してください。

ドキュメントルートのファイルを編集する

サイトのドキュメントルート以下にある index.php, wp-blog-header.php, wp-settings.phpを開いて、最後にある空白行を削除する

このケースで解消されている方もいるようです。
参考リンク
https://ja.forums.wordpress.org/topic/4733

functions.phpの空白行を削除する

利用中のtheme以下にあるfunctions.phpや、wp-include以下にあるfunctios.php、pluginディレクトリ以下にあるfunction.phpの最後にある空白行を削除する

Ads by Google

Ads by Google

-WordPress全般
-,

© 2024 みる米技術部 Powered by AFFINGER5