Craft CMS の Guest Entries プラグインを利用して PHP から POST して新規エントリーを作成したときに戻り値を JSON にする方法を紹介します。
Guest Entries for Craft CMS プラグインを使って PHP から POST 送信して新規エントリーを作成します。
この際、新規エントリーの作成に成功したら、作成されたエントリーに関する情報を JSON で欲しいときがあります。
初めは redirect
パラメータを送信して JSON を出力するテンプレートにリダイレクトしようと思いましが、なぜか PHP からの POST ではリダイレクトが聞きませんでした。
そこで、Guest Entries では Ajax で POST 送信すれば JSON が返ってくる仕様なので、それを利用することにしました。
PHP で送信するヘッダーに、下記のように X-Requested-With
を設定してあげれば Ajax で送信したように JSON が返ってきます。
$header = [
'X-Requested-With: XMLHttpRequest',
'Content-Type: multipart/form-data'
];
このヘッダーをセットして、あとは cURL
で送信してあげれば OK です。
以上です。