APIへのデータのPOST
同じヘルパーメソッド(wp_remote_retrieve_body()
など)は、すべてのHTTPメソッドリクエストで利用可能で、同じ方法で使用されます。
データをPOSTするには、wp_remote_post()
関数を使用し、wp_remote_get()
とまったく同じパラメータを取ります。
サーバーにデータを送信するには、データの連想配列を構築する必要があります。このデータは'body'
値に割り当てられます。サーバー側では、その値は$_POST
変数に期待通りに表示されます。つまり、body => array( 'myvar' => 5 )
がサーバー$_POST['myvar'] = 5
の場合です。
GitHubは前の例で使用したAPIへのPOSTを許可していないため、この例ではそれを仮定します。通常、APIにデータをPOSTしたい場合は、APIの管理者に連絡してAPIキーまたは他の形式の認証トークンを取得する必要があります。これは、あなたのアプリケーションがAPI上のデータを操作することが許可されていることを証明するもので、ユーザーとしてウェブサイトにログインするのと同じです。
次に、以下のフィールドを持つコンタクトフォームを送信すると仮定しましょう:名前、メール、件名、コメント。ボディを設定するには、次のようにします:
$body = array(
'name' => sanitize_text_field( 'Jane Smith' ),
'email' => sanitize_email( '[email protected]' ),
'subject' => sanitize_text_field( 'Checkout this API stuff' ),
'comment' => sanitize_textarea_field( 'I just read a great tutorial. You gotta check it out!' ),
);
次に、ボディを$args
配列に追加し、これが第二引数として渡されます。(第二引数は多くのオプションを受け入れます。詳細については、Advancedセクションを参照してください)
$args = array(
'body' => $body,
);
もちろん、呼び出しを行うためには
$response = wp_remote_post( 'https://your-contact-form.com', $args );