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に余計な空白・改行があると他のエラーにも繋がるので気を付けましょう。

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

目次

関連記事

HTMLCSS プログラミング

【簡単】CSSを使って要素を非表示にせず、要素内のテキストだけ見た目上消す方法

2022.01.19
9331
プログラミング

ドメインからIPアドレスを調べる方法【簡単】

2023.09.20
564
WordPress

トップページの記事一覧で2ページ目以降のタイトルタグにページ番号を入れる方法

更新日:2019.11.28
1402
プログラミング

【Brackets】爆速コーディングにおすすめの拡張機能を紹介

2020.07.20
3110