WordPressのXMLRPCでInvalid return payload: enable debugging to examine incoming payload

WordPressにはXMLRPCを用いたAPIによる投稿機能があります。

ある時期からタイトルのエラーが出るようになり、特定のサイトで機能しなくなって困っていました。

どうもXMLの先頭部分に文字列で『<?php』と入るのでXMLパースエラーになるのが原因らしいと言う事は分かったのですが、理由が分かりません。

トライアンドエラーでデバッグをしていた所、子テーマのfunctions.phpを読み込むとこの謎の文字列が出力されるらしい…と言う事に気づいてここで思い当たるフシがありました。

子テーマを作った際にfunctions.phpに特に記述する事がなかったので

<?php

とだけ記述していたのですが、ContentTypeがXMLだと当然これはそのまま出力されてしまいます。

functions.phpを空にしたところ、XMLRPCを使用した投稿が無事行えました。

なんでXMLRPCを呼び出した時に子テーマを読み込む必要があるんだろうと言う疑念は残りますが、とりあえず解決したので良しとします。

関連記事

  1. WordPressのカテゴリを自動設定する方法

  2. PHPのコピペで出来る小技まとめ

  3. WordPressプラグインの追加方法

  4. WordPressのタグを自動で設定できるプラグイン「Simple T…

  5. エックスサーバーにWordPressをインストールする方法

  6. ロリポップでWordPressをインストールする方法