Written by Kasumi

wordpressのfeed取得先がEntity: line 2: parser で見れない時の対処方法

こんにちは、カスミです。

さて、以下のようなお悩みをお持ちでしょうか?

wordpressのfeedを取得したが、以下のようなエラーがでてうまく表示されない。

Warning
: simplexml_load_string(): Entity: line 2: parser error : XML declaration allowed only at the start of the document in

本記事では上記のようなエラーが出たときの対処方法について解説致します。

ワードプレスのfeedを取得するやり方については以下記事を参照ください。

feed.phpをブラウザで開いて確認

取得元のワードプレスサイトで、feed.phpをブラウザで開きます。

feed.phpの見方はドメインの末尾に/feed/で開けます。

開くと上記画像のようなxmlのコードが出てきます。

冒頭で書いたエラーは、xmlで正しくない文字列があるときにでるエラーになります。

上記画像の場合だと一行目に空白の行があり、それがxmlで正しくない文字列と判断されていたようです。

functions.phpで空白の行がないか確認

functions.php内で上記画像の箇所のようなphpの開始・終了タグの間に不要な空白改行などあったら削除し詰めます。

xmlで最初の方に空白があり文字列エラーを起こしてる場合はfunctions.php内の空白・改行が原因の可能性があります。

この空白・改行を削除し、feed.phpを再度開きます。

xml最初の空白・改行が無くなっていることを確認し、取得先のページでエラーが無くなれば完了です。

まとめ

ある案件でいきなりwordpressのfeedが取得先で開かなくなった事がありました。

ワードプレスのバージョンアップ、プラグインのバッティングなど考慮しました。

結局原因はfunctions.phpを修正した時に空白・改行が入っていたことによるエラー。。

xml取得にかぎらず、functions.phpに余計な空白・改行があると他のエラーにも繋がるので気を付けましょう。

以上で解説を終わります。

目次

関連記事

プログラミング

【htaccess】サイトを引越!リダイレクト処理を書いてみよう

更新日:2020.06.12
322
HTMLCSS プログラミング

【簡単】html・cssを使ってtable(テーブル)タグを角丸にする方法

2022.02.15
252
WordPress

【WordPress】現在のアーカイブ・カテゴリページの記事総数を表示する方法

2022.05.30
118
プログラミング

金額(値段)を三桁区切りで自動表示する方法

2019.12.05
278