2

重力フォームを使用している WordPress サイトがあります。私が使用している重力フォームの 1 つを取得し、データを別のテーブルに挿入したいと思います。(重力フォームテーブル以外)。特定のフォーム (3) の値を取得し、SQL ステートメントを実行するために、送信フック後に Gravity Form を使用しています。フックについて説明するリンクは次のとおりです。 http://www.gravityhelp.com/documentation/page/Gform_after_submission

ただし、新しいテーブル (users) には何も挿入されません。スクリプトが実行されているかどうかさえわかりません。「デフォルト」の重力フォーム テーブルと新しいユーザー テーブルの両方が同じデータベースにあります。私のPHPは次のよ​​うになります。

add_action("gform_after_submission_3", "input_fields", 10, 2);
function input_fields($entry, $form){


                    $entry["1"] = '$name';
                    $entry["2"] = '$email';
                    $entry["3"] = '$purchase_date';
                    $entry["4"] = '$order_number';

   $SQL = "INSERT INTO users ( userID, email, name, purchase_date, order_number) VALUES ( '', '$email' , '$name', '$purchase_date', '$order_number')";
   }

Gravity Form エントリ オブジェクトを使用して値を取得しています。詳細はこちら: http://www.gravityhelp.com/documentation/page/Entry_Object

フォームはデフォルトのテーブルに正しく書き込みますが、新しい「ユーザー」テーブルには書き込みません。助言がありますか?さらに情報を提供する必要がある場合はお知らせください。助けてくれてありがとう!

4

2 に答える 2

4

次のコードを試してください...

add_action('gform_after_submission_3', 'input_fields', 10, 2);
function input_fields($entry, $form){
global $wpdb;
               $name = $entry['1'];
               $email = $entry['2'];
               $purchase_date =  $entry['3'];
               $order_number = $entry['4'];

  $SQL = "INSERT INTO users ( userID, email, name, purchase_date, order_number) VALUES ( '', '$email' , '$name', '$purchase_date', '$order_number')";
  $wpdb->query($SQL);
 }

ありがとうございました....

于 2012-06-21T09:46:13.550 に答える
1

クエリを作成しましたが、実行していません。

add_action("gform_after_submission_3", "input_fields", 10, 2);
function input_fields($entry, $form){
    global $wpdb;


                    $entry["1"] = '$name';
                    $entry["2"] = '$email';
                    $entry["3"] = '$purchase_date';
                    $entry["4"] = '$order_number';

   $SQL = "INSERT INTO users ( userID, email, name, purchase_date, order_number) VALUES ( '', '$email' , '$name', '$purchase_date', '$order_number')";
   $wpdb->query($SQL);
   }

また、すでにusersテーブルを作成していると仮定します。

于 2012-04-16T07:13:30.527 に答える