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上のデータを操作することが許可されていることを証明するもので、ユーザーとしてウェブサイトにログインするのと同じです。

次に、以下のフィールドを持つコンタクトフォームを送信すると仮定しましょう:名前、メール、件名、コメント。ボディを設定するには、次のようにします:

  1. $body = array(
  2. 'name' => sanitize_text_field( 'Jane Smith' ),
  3. 'email' => sanitize_email( '[email protected]' ),
  4. 'subject' => sanitize_text_field( 'Checkout this API stuff' ),
  5. 'comment' => sanitize_textarea_field( 'I just read a great tutorial. You gotta check it out!' ),
  6. );

次に、ボディを$args配列に追加し、これが第二引数として渡されます。(第二引数は多くのオプションを受け入れます。詳細については、Advancedセクションを参照してください)

  1. $args = array(
  2. 'body' => $body,
  3. );

もちろん、呼び出しを行うためには

  1. $response = wp_remote_post( 'https://your-contact-form.com', $args );