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

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

Ads

関連記事

WordPress プログラミング

wordpressのパーマリンクに拡張子(.html等)を付けれるよう変更したい

2020.07.17
14
PHP プログラミング

【php】現在のディレクトリURLを取得し、条件分岐する方法

2021.10.28
334
JavaScript プログラミング

【簡単】スマホでよくある横スライドメニューを実装する方法【jQuery・CSS使用】

2022.02.14
240
WordPress

テンプレート直書きでショートコードを呼び出す方法

更新日:2019.11.28
79