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. PHPで画像やテキストをランダム表示する方法

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

  3. PHPで今日の日付を表示する

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

  5. PHPで現在アクセスしているページのURLを表示

  6. カテゴリーごとの最新記事をウィジェットに表示するプラグイン「Categ…