2018.08.18 2018.08.19

ContactForm7のフォーム送信時にユーザー登録を自動でおこなう方法

こんにちは、ゾノ( @ozonosho )です。

さて、今日のブログではWordPressのプラグイン「Contact Form 7」でフォーム送信時にユーザー登録を自動でおこなう方法を紹介したいと思います。

この方法を利用すれば、たとえば応募フォームで送信された応募情報を利用してそのままユーザー登録をおこなうことができます。

しかも登録できる内容はメールアドレスやパスワードなどの必須項目だけでなくカスタムフィールドにも対応可能のため、問い合わせフォームからの情報をもとにユーザーを作成したい場合にはぜひ利用してみてください。

ContactForm7のフォーム送信時にユーザー登録を自動でおこなう方法

実装は簡単で、下記のような関数をfunctions.phpに追加してください。

ContactForm7がメール送信時のフック「wpcf7_mail_sent」を用意してくれているので、このフックを利用して処理をおこないます。

$formdata[”]の中身は、問い合わせフォームでご自身が設定した項目名称を入れてください。

ユーザー登録は関数「wp_insert_user」にて実行されます。
カスタムフィールドの値はwp_insert_userでは登録できないので、wp_insert_userが成功した場合にupdate_user_metaで更新することでカスタムフィールドの値も同時に登録することができます。

問い合わせフォームを送信して無事にユーザー情報が登録されていれば成功です。

ちなみに、複数の問い合わせフォームを利用している方は下記コードのようにフォームIDで判別しましょう。

おわりに

以上、今回の記事ではWordPressのプラグイン「Contact Form 7」でフォーム送信時にユーザー登録を自動でおこなう方法を紹介させていただきました。

この方法を利用すればユーザー登録だけでなく記事の投稿などもフォーム送信時におこなうことができるため、ぜひ色々と試してみてください。

ゾノについて

絶賛募集中の企画

このブログと一緒によく読まれているブログ