web-dev-qa-db-ja.com

POST へ REST ワードプレスフォームからのAPI

私はREST AP​​Iを使ってwordpressに公開したくありません。

私はPOSTを外部のREST AP​​Iに送るWordpressのページ上にフォームを作りたいのです。ユーザーは自分の情報を入力し、おそらくファイルをアップロードします。プレスが「送信」するとき、私はこの情報を別のサーバー(wordpressではなく)上のREST AP​​Iに送信したいと思います。

これを可能にするプラグインはありますか?誰かがこれをやったことがありますか?もちろん、私はこれでトラブルに遭遇するかもしれません: http://en.wikipedia.org/wiki/Same_Origin_policy

これを逆にしたいようです: http://wordpress.org/extend/plugins/json-api/ wordpress用のREST AP​​Iを作る代わりに、ユーザーがフォーム上のボタンを押したときに、WordPressの通信機能がPOSTを外部のREST AP​​Iに送信するようにします。

2
TimO

私は一般的な方法でそれを行うプラグインを知りません。ほとんどの場合、通信しようとしている特定の各APIに合わせてカスタムのものを構築する必要があります。

あなたの目的のために、キー関数はwp_remote_post()になります。これはWPのHTTPクラスのPOSTメソッドのラッパーです。 (WP_HttpにはHTTPトランスポートのさまざまなモードに対するすべての種類のフォールバックがあるため、手動のcURL要求を行う代わりにこれを使用してください。)ここで、いい紹介です: http://yoast.com/wp-best-practice/wordpress-http -api/ Same Originのポリシーは一般にブラウザにのみ適用されます。 wp_remote_post()とその同種のものがサーバー上で起動されます。

データを送るのはとても簡単です - あなたのwp_remote_post()呼び出しの 'body'に配列を入れるだけです。難しい部分は常に認証です - APIサーバーは事前登録されたキー、あるいはある種のoAuthハンドオフ、または何を期待していますか。共有キーと同じくらい単純な場合は、'body'ペイロードの一部として渡すことができます。

3
Boone Gorges