2012-03-21 16 views
2

私はcURLのポストコールを介して別のサイトからデータをプルするワードプレスプラグインに取り組んでいます。私は私はwordpressのプラグインとwordpressの外サイトで同じコードをテストしました。ワードプレスのスクリプトのcURL/wp_remote_post:wordpressプラグインで動作しません

Outsiteが正常に動作しますが、ワードプレスプラグインの内部、スクリプトだけで文句を言わない仕事:

Wordpressのプラグイン:

$handle = curl_init(); 
curl_setopt($handle, CURLOPT_URL,    $url); 
curl_setopt($handle, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($handle, CURLOPT_POST,   true); 
curl_setopt($handle, CURLOPT_FOLLOWLOCATION, true); 
curl_setopt($handle, CURLOPT_POSTFIELDS,  array('postfield' => 'postfieldcontent')); 

$result = curl_exec($handle); 

メインサイト:私は「

mysql_query("INSERT INTO table (q, w, e, r, t, y, u) VALUES ('', '".$_POST[postfield]."', '', '', '', '', '')"); 

デバッグの目的ですべてのデータベースセキュリティを削除しました。私もwp_remote_post関数を試しましたが、それはどちらも動作しません。私もwp_remote_get機能をtriedeましたが、私は得る変数にアクセスすることができます

$result = wp_remote_get('http://qwerty.dk/folder/filename.php?getfield=qwertrert'); 

私はあきらめて - あなたが必要となります:)

敬具 キム

+0

を使用することです(CURLOPT_POSTFIELDS、$扱う 'postfield = postfieldcontent');' – safarov

+0

こんにちはsafarovは、ご入力いただきありがとうございますが、それは動作しません。ポストフィールドが送信されていないようです:\ –

答えて

2

を助けてくださいphp.iniファイルでcURLを有効にします。 (ファイルclass-http.php機能_get_first_available_transportを参照)#1347146

wp_remote_post()が順番に3つのトランスポートクラスのいずれかを使用することができますWP_Httpと呼ばれるクラスを使用しています参照してください。

POSTメソッドはクラスWP_Http_Curlで動作しますが、クラスWP_Http_Streams(cURLフォールバック)では機能しません。

代替 `ますcurl_setoptを試してみてくださいwp_remote_get()