Craft CMS の Guest Entries プラグインを利用して PHP から POST して JSON を取得するには

Craft CMS の Guest Entries プラグインを利用して PHP から POST して新規エントリーを作成したときに戻り値を JSON にする方法を紹介します。

Craft CMS Logo

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 です。

以上です。

Published 2018-08-27
Updated 2019-06-25