WordPressのプラグイン「MW WP Form」で作成したフォームから、SalesforceのWeb-to-リードへ情報を登録できるようにしました。
WordPressの管理画面でやったこと
MW WP Formのフォーム編集でname
属性にoid
、その値に識別子(xxxxxxxxxは置き換えてください)を入れたhidden
フィールドを書きます。
[mwform_hidden name="oid" value="xxxxxxxxx"]
functions.phpでやったこと
MW WP Formのアクションフック「mwform_after_send_mw-wp-form-xxx
(xxxは置き換えてください)」とcurlコマンドで、入力された情報をWeb-to-リードへ送信。
コード例
function my_mwform_after_send($Data) { $url = Web-to-リードの送信先のURL; $dataArray = ((array)$Data); $sendData = http_build_query($dataArray["\0*\0"."POST"], "", "&"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $sendData); $output = curl_exec($ch); curl_close($ch); } add_action('mwform_after_send_mw-wp-form-xxx', 'my_mwform_after_send');
入力情報が入ってる$Data
を配列に変換し、http_build_query()
でクエリ文字列を生成。そして、curl
コマンドで送信。
$Data
には入力された情報以外にも様々な情報が入ってます。必要な情報は配列に変換した$dataArray["*POST"]
だけです。
以上で、MW WP Formで入力→確認→メール送信→完了という流れに影響を与えることなく、SalesforceのWeb-to-リードへ情報を登録することができました。