2016-10-25 14 views
1

私は重力フォームのプラグインをWordPressの情報から受け取り、その情報をGoogleシートに解析する小さなプロジェクトを行っています。 これまで私は問題なくこれを行うことができました。この問題は、ファイルアップロードフィールドであるフィールドの1つ(アップロードする最大ファイル数が2の場合)に発生します。リンクは次のようにまとめられます: "www.example.org/wp-content-uploads/gravityforms/image1.jpg"、 "www.example.org/wp-content-uploads/gravityforms/image1.jpg"重力から2つのURLを受け取って別々の2つの列に入れます

私がしたいのは !(http://imgur.com/a/BUXvn)です!

ドクターソースの列(列3)に完全な文字列を表示し、区切り文字としてカンマを使用して2に分割し、医師の画像1および医者の画像2に表示します。

ここで私はPHPで解析するために使用したコードです。

add_action('gform_after_submission_1', 'add_to_google_spreadsheet', 10,  2); 
function add_to_google_spreadsheet($entry, $form) { 
// This is the web app URL of your Google Script create in previous step 
$post_url = 'https://script.google.com/macros/s/AKfycbwFTe3H0w8bp_2yviORAGhNZzIwvmKmdaCHf KEOdORwjO6pJPQ/exec'; 
// Put all the form fields (names and values) in this array 
$doctor=('doctor source => rgar($entry,3)'); 
$doctorimage= explode(",",$doctor); 
$body = array('first name' => rgar($entry, '1'), 'last name' => rgar($entry, '2'),'doctor source' => rgar($entry, '3'),'doctor image1' => rgar($doctorimage[0], '4'),'doctor image2' => rgar($doctorimage[1], '5'),); 
// Send the data to Google Spreadsheet via HTTP POST request 
$request = new WP_Http(); 
$response = $request->request($post_url, array('method' => 'POST', 'sslverify' => false, 'body' => $body)); 
} 

rgar:重力が形成アレイ 使用rgar($配列、$名)内の値を返し 使用。私は整理するだけでいくつかのマイナーなフォーマット/ロジックの問題があります信じてhttps://ctrlq.org/code/20047-gravity-forms-to-google-spreadsheet

+0

この問題は(私は思いますか?)2つのURLを取得できますが、別々の列に投稿することはできないということですか?本当? –

+0

はい、実際には、私は2つのURLを受け取りますが、それらは同じ文字列にあり、コンマで区切られています。あなたが言ったように2つの異なる列にそれらを取得しようとしています。 – user2189801

+0

あなたが 'var_dump($ body)'( '$ body'が設定された後で、それが送信される前)のときはどうなるでしょうか? –

答えて

1

:ここでは、同じことを行うためにお探しの方のために

は、私が使用していたガイドです。

あなたが提供した情報を元に、ここで私の最高の試みをしています。

// Adjust this line to simply GET the field for the doctor images 
$doctor =rgar($entry, 3); 
// Now, given the revision above, this line should properly explode the images 
$doctorimage = explode(',', $doctor); 
// Adjust the below to put the images in (no need for rgar for them here) 
$body = array(
    'first name' => rgar($entry, '1'), 
    'last name'  => rgar($entry, '2'), 
    'doctor source' => rgar($entry, '3'), 
    'doctor image1' => $doctorimage[0], 
    'doctor image2' => $doctorimage[1] 
); 
// Send the data to Google Spreadsheet via HTTP POST request 
//.... 

質問違いを生む可能性があります:応答を変更することがあり、いくつかの質問があります
1.フォームのフィールド3は何ですか?あなたのコードに基づいて、それはイメージの2つのURLです - そうですか?
2.フォームにフィールド4(およびフィールド5)がありますか?彼らには何が含まれていますか?
3. "医師の出所"とされるあなたのフォームのフィールドは何ですか?

+0

1.はい、そうです。 1行に2つのリンクがあり、コンマで区切られています。
2. 4と5があり、電子メールと連絡先番号が含まれています。
3.ユーザーが複数の画像をアップロードできるようにするアップロードフィールド(これは、回答1に記載された2つのリンクを提供する画像です)。もう一度、あなたの解決策にスポットがあった。質問に対する回答を一度読んだら、ご意見がありましたら、私にお知らせください。あなたは素晴らしいです。 – user2189801

+0

ここに改行を置くにはどうすればいいですか?だから私は上記のコメントをフォーマットすることができます。 – user2189801

+0

残念ながら、コメントに改行を入れる方法がわかりません! –

関連する問題