Contact Form 7で送信完了後にフォーム内容をJSONを利⽤してAPI連携したいのですが上手く出来ません。
フォーム送信自体は問題なく動いてます、API連携先に登録出来ません。
API単体テストだと問題なく登録出来ました。
wpcf7_mail_sentと組み合わせると上手く登録出来ません。
解決方法などご教授よろしくお願いいたします。
- WordPress バーション5.6.4
- PHP バージョン7.4.13
- Contact Form 7 バージョン 5.4.2
functions.php
add_filter('wpcf7_mail_sent', 'my_wpcf7_mail_sent', 1, 1); function my_wpcf7_mail_sent(){ $submission = WPCF7_Submission::get_instance(); if ($submission){ $posted_data = $submission->get_posted_data(); $cf7_hoge = $posted_data["form-hoge"]; } //API $REQUEST_URL = 'hogeURL'; $HTTP_METHOD = 'POST'; $ACCESS_TOKEN = 'hogeTOKEN'; $SECRET = 'hogeSECRET'; $data = [ 'hoge' => $cf7_hoge ]; $headers = [ 'Content-Type: application/json', 'Accept: application/json', 'Authorization: Bearer ' . $ACCESS_TOKEN ]; $body = json_encode(['secret' => $SECRET, 'cnow' => $data]); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $REQUEST_URL); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $HTTP_METHOD); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POSTFIELDS, $body); $response = curl_exec($ch); curl_close($ch); }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/08 15:55