Contact Form 7の使い方を解説【基礎編】
ここからは、『Contact Form 7』によるお問い合わせフォームの設置方法を解説します。
お問い合わせフォームの設置は、以下6ステップで完了します。
順番に詳しく解説していきますね。
プラグインのインストールと有効化
まずは『Contact Form 7』をインストールしましょう。
プラグインの追加画面で検索窓に「Contact Form 7」と入力し、今すぐインストールをクリックします。

「WordPressメインナビゲーション > プラグイン > プラグインを追加」の画面
インストールできたら有効化をクリックしましょう。

フォームの作成
続いて、『Contact Form 7』でフォームのひな型を作成します。
『Contact Form 7』を有効化すると、WordPressメインナビゲーションに追加される「お問い合わせ」メニューから、コンタクトフォームを追加をクリックしてください。

フォームのタイトルを入力し、まずはこのまま保存をクリックしましょう。

デフォルトでは、以下の項目が設定されています。
- 氏名
- メールアドレス
- 題名
- メッセージ本文(任意)
- 送信ボタン
自動送信メールの設定
次に、フォームから問い合わせが入ったときに、「ホームページ管理者」と「ユーザー」にメールを自動で送信するための設定をします。

ホームページ管理者側
まず、メールタブをクリックして表示される画面から、ホームページ管理者宛てに送信される自動通知メールを設定します。

設定する内容は、以下のとおりです。
| 項目名 | 説明 | 入力例 |
|---|---|---|
| 送信先 | お問い合わせが入ったときに、通知を受け取るメールアドレス
※自社のメールアドレスを入力してください。 |
support@example.co.jp |
| 送信元 | 通知の送信元メールアドレス
※[_site_title]をそのまま残しておくと、通知メールにWordPressの一般で設定された「サイトのタイトル」が表示されます。 ※自社のメールアドレスを<>の中に入力してください。 |
[_site_title]<support@example.co.jp> |
| 題名 | 通知を受け取るメールのタイトル | ホームページよりお問い合わせがありました |
| 追加 ヘッダー |
通知メールの返信先(そのままでOK)
※通知メールに対して、メールソフトで返信をクリックすると、宛先に「ユーザーがフォームに入力したメールアドレス(your-email)」が自動で設定されます。 |
Reply-To: [your-email] |
| メッセージ 本文 |
通知メールの本文(そのままでOK)
※「[your-name]」「[your-email]」などの表記は、ユーザーがフォームに入力した内容を通知メールに表示するためのタグです。 |
差出人: [your-name] [your-email]
題名: [your-subject]
メッセージ本文: [your-message] — 本メールはあなたのウェブサイト ([_site_title] [_site_url]) のコンタクトフォームに送信があったことをお知らせするものです。 |
以下は、上記で設定した内容を実際にメールソフト(Gmail)で受信したときのイメージです。

設定が完了したら、保存をクリックしましょう。
ユーザー側
ここからは、ユーザー宛てに送信される自動返信メールを設定します。
メールタブの画面を下にスクロールすると「メール(2)を使用」というチェックボックスがあります。

チェックを入れると、ユーザー宛てに送信されるメールを設定できるようになりますよ。

「安全でないメール設定が十分な防御策なく使われている。」というエラーメッセージは、『Cloudflare Turnstile 』などのスパム対策を設定すれば消えるので、一旦そのままの状態で問題ありません。
※スパム対策については、のちほど詳しく解説します。
設定する内容は、以下のとおりです。
| 項目名 | 説明 | 入力例 |
|---|---|---|
| 送信先 | 自動返信メールの送信先(そのままでOK)
※「ユーザーがフォームに入力したメールアドレス(your-email)」のことです。 |
[your-email] |
| 送信元 | 自動返信メールの送信元(ホームページ管理者のメールアドレス)
※[_site_title] をそのまま残しておくと、通知メールにWordPressの一般で設定された「サイトのタイトル」が表示されます。 ※自社のメールアドレスを<>の中に入力してください。 |
[_site_title]<support@example.co.jp> |
| 題名 | 自動返信メールのタイトル | 【自動返信メール】お問い合わせいただきありがとうございます |
| 追加 ヘッダー |
自動返信メールの返信先(ホームページ管理者のメールアドレス)
※デフォルトの値だと、自動返信メールに対して、ユーザーがメールソフトで返信をクリックしたときの宛先に「WordPressの管理者ユーザーのメールアドレス(_site_admin_email)」が自動で設定されます。 ※デフォルトの値を削除すると、前項で設定した「自動返信メールの送信元」にユーザーが返信できるようになります。したメールアドレス(your-email)」が自動で設定されます。 |
なし(削除) |
| メッセージ 本文 |
自動返信メールの本文(そのままでOK)
※[your-message]などの表記は、 |
メッセージ本文: [your-message] — あなたのメールアドレスを使用して、私たちのウェブサイト ([_site_title] [_site_url]) のコンタクトフォームに送信がありましたので、その控えとして本メールを送ります。もしもその送信について心当たりのない場合は、どうぞこのメッセージを無視してください。 |
以下は、上記で設定した内容を実際にメールソフト(Gmail)で受信したときのイメージです。

設定が完了したら、保存をクリックしましょう。
問い合わせ完了時のメッセージ変更
自動送信メールの設定が完了したら、お問い合わせページで「フォーム送信後に表示されるメッセージ」を編集しましょう。

「メッセージ」タブをクリックしてください。

デフォルトでは「ありがとうございます。メッセージは送信されました。」になっています。必要であれば変更しましょう。
この記事では、「この度はお問い合わせいただき、誠にありがとうございます。追って担当者からご連絡いたします。」に変更します。
変更したら、「保存」をクリックしてください。
『Contact Form 7』はデフォルトのままだと、「確認画面」や「完了画面(サンクスページ)」を表示できません。表示させるには、カスタマイズが必要になります。
「確認画面」や「完了画面(サンクスページ)」を簡単に表示させたい方は、「Snow Monkey Forms」など別のお問い合わせフォームプラグインも検討しましょう。

お問い合わせページの作成とフォームの設置
基本の設定が完了したので、お問い合わせページを作成してフォームを設置しましょう。
まずメインナビゲーションから「固定ページ」を選択し、固定ページを追加でお問い合わせページを作成しましょう!

タイトルと本文に、以下のような内容を入力します。
- タイトル:お問い合わせ
- 本文:当ホームページをご覧いただきありがとうございます。サービスの詳細に関するお問い合わせは、以下のフォームからお願いします。
次に、右下の+ボタンをクリックしてください。

検索窓に「contact」と入力すると、『Contact Form 7』のアイコンが表示されるので、クリックしてブロックを追加します。

今回作ったフォームを選択します。

スラッグを「contact」に変更して、公開ボタンをクリックすれば完了です。

『Contact Form 7』のフォームは、ショートコードでも埋め込み可能です。
メインナビゲーションからお問い合わせをクリックすれば、ショートコードが表示されるので、コピーしましょう。

「固定ページ」から先ほど作成したお問い合わせページの編集画面を開き、+ボタンをクリックし、検索窓に「ショート」と入力します。

ブロックを追加し、先ほどコピーしたショートコードを貼り付けます。

画面右上の「公開(保存)」ボタンを押して完了です。
お問い合わせフォームの動作確認
最後に、設置したお問い合わせフォームの動作を確認します。
画面右上の「表示」アイコンから、新しいタブでプレビューをクリックしましょう。

以下、お問い合わせページの画面です。

フォームが送信できるか、自動送信メールが「ホームページ管理者側」と「ユーザー側」のどちらにも届くか、チェックしましょう。
これでシンプルなお問い合わせフォームの設置は完了です。
次の章からは応用編として、お問い合わせフォームのカスタマイズ方法を解説していきますね。
Contact Form 7のカスタマイズ方法9選【応用編】
『Contact Form 7』は、さまざまなカスタマイズができます。
ここでは、入力項目の追加などのカスタマイズ法を9個解説します。
テキスト・URL・電話番号の追加方法
テキスト・URL・電話番号の追加方法を解説します。
それぞれの追加方法は基本的に同じなので、「電話番号」を例に解説しますね。
まず「フォーム」タブを選びます。入力項目を追加したい箇所にカーソルを合わせてから、「電話番号」をクリックしましょう。

以下を参考に設定してください。
- 項目タイプ:「電話番号入力項目」
- 必須入力の項目。:必須項目にするかどうか
- 項目名:「タグの名前(例:tel-xxx)」
- この入力項目には送信者の電話番号が期待される。:電話番号の入力欄であることをブラウザに伝えやすくするかどうか
- デフォルト値:「初期値(例:000-000-0000)」
- このテキストをプレースホルダーとして使用する。:デフォルト値を入力例にするかどうか

「この入力項目には送信者の電話番号が期待される。」はチェックを入れましょう。
チェックを入れると、HTMLソースコードに「autocomplete:tel」が追加され、電話番号の入力欄であることがブラウザに伝わりやすくなります。
ユーザーがフォームを再訪問したときに、過去の内容を入力候補として表示するなどのサポートが期待できます。なお、デフォルトで挿入されている「氏名」や「メールアドレス」にも、この「autocomplet」が入っています。
次に、入力例を表示する場合は、「このテキストを項目のプレースホルダーとして使用する」もチェックを入れましょう。チェックを入れないと、入力例が実際に入力された状態になってしまいます。
設定を終えたら、タグを挿入をクリックしましょう。
電話番号のタグを追加できました。

しかし、この状態ではユーザーがフォームに何を入力すればよいか分からないため、項目名としてタグの上に「電話番号」のテキストを入力し、「ラベルタグ(<label></label>)」で囲んでください。

項目名と項目を紐づけるためのタグです。ラベルタグで紐づければ、項目名をクリックした場合でも、項目にカーソルがあたるので、ユーザーがフォームを入力しやすくなります。

また、氏名やメールアドレスにも入力例を表示させる場合は、それぞれのタグの中に「placeholder」を追加します。さきほど追加した電話番号のコードを参考にしてください。

保存をクリックして完了です。

実際のお問い合わせページでは、以下のように表示されます。

追加した項目を「ホームページ管理者」と「ユーザー」への自動送信メールに表示させる方法は、あとの「追加した項目を自動送信メールに表示させる方法」で解説します。
日付の追加方法
「日付」は、生年月日などの入力を求めるときに使用します。
先ほどと同じように、挿入したい箇所にカーソルを合わせ、日付をクリックしましょう。

以下を参考にタグを挿入してください。
- 項目タイプ:「日付項目」
- 必須入力の項目。:必須項目にするかどうか
- 項目名:「タグの名前(例:date-xxx)」
- 範囲:日付を選択できる範囲の指定
この記事ではそのままタグを挿入します。

タグを挿入したら、他と同様に「項目名」と「ラベルタグ(<label></label>)」を付けましょう。

保存をクリックして完了です。
実際のお問い合わせページでは、以下のように表示されます。

追加した項目を「ホームページ管理者」と「ユーザー」への自動送信メールに表示させる方法は、あとの「追加した項目を自動送信メールに表示させる方法」で解説します。
テキストエリアの追加方法
「テキスト」は単語(1行)しか入力できませんが、「テキストエリア」は複数行を入力できます。
お問い合わせ内容の入力などで使用するイメージです。
デフォルトの設定では、「メッセージ本文(任意)」がテキストエリアとして設定されていますよ。
追加で必要な場合は、これまでの説明と同じ流れで、挿入したい箇所にカーソルを合わせてテキストエリアをクリックしましょう。

設定項目も、これまで説明した内容と基本的には変わりません。
- 項目タイプ:「テキストエリア」
- 必須入力の項目。:必須項目にするかどうか
- 項目名:「タグの名前(例:textarea-xxx)」
- デフォルト値:「初期値」
- このテキストをプレースホルダーとして使用する。:デフォルト値を入力例にするかどうか

追加した項目を「ホームページ管理者」と「ユーザー」への自動送信メールに表示させる方法は、あとの「追加した項目を自動送信メールに表示させる方法」で解説します。
ドロップダウンメニューの追加方法
ユーザーに複数の選択肢の中から1つを選択してもらいたい場合は、「ドロップダウンメニュー」を使用しましょう。
ドロップダウンメニューなら、都道府県など選択肢が多い場合でも、場所をとらないというメリットがあります。

ただドロップダウンメニューは、クリックしないと選択肢が見えないデメリットがあります。
もし選択肢が少なく、先に内容を見せたい場合は、このあと解説する「チェックボックス」や「ラジオボタン」がおすすめです。
それではドロップダウンメニューを追加してみましょう。
挿入したい箇所にカーソルをあて、ドロップダウンメニューをクリックします。

以下を参考に、タグを挿入してください。
- 項目タイプ:「ドロップダウンメニュー」
- 必須入力の項目。:必須項目にするかどうか
- 項目名:「タグの名前(例:select-xxx)」
- 選択できる値:選択肢を1行ずつ入力
- 最初のアイテムをラベルとして使用する。:最初にラベルを表示するかどうか
「最初のアイテムをラベルとして使用する。」にチェックをいれたあと、選択肢の一つ目に「ー以下から選択してくださいー」を指定してください。
これにより、仮にユーザーが「本来の選択肢の一つ目(以下:北海道)」を選んだ場合でも、自らの意思でそれを選んだことが分かります。

他と同様に「項目名」と「ラベルタグ(<label></label>)」を付けましょう。

保存をクリックすれば完了です。
実際のお問い合わせページでは、次のように表示されます。

「ー以下から選択してくださいー」の部分をクリックすると、選択肢が表示されますよ。

追加した項目を「ホームページ管理者」と「ユーザー」への自動送信メールに表示させる方法は、あとの「追加した項目を自動送信メールに表示させる方法」で解説します。
チェックボックスの追加方法
アンケートなど複数の選択肢の中から、ユーザーに該当するものを選んでもらう場合は、「チェックボックス」がおすすめです。
ここでは、「当社を知ったきっかけを教えてください」という質問を想定して作ってみますね。
これまでどおり、挿入したい箇所にカーソルを合わせて、チェックボックスをクリックします。

以下を参考に設定して、タグを挿入してください。
- 項目タイプ:「チェックボックス」
- 必須入力の項目。:必須項目にするかどうか
- 項目名:「タグの名前(例:checkbox-xxx)」
- 選択できる値:選択肢を1行ずつ入力
- 個々の項目をlabel要素で囲む。:各選択肢のチェックボックスだけでなく、「テキスト部分のクリック」も選択の対象にするかどうか

「個々の項目をlabel要素で囲む。」にチェックを入れると、選択肢のチェックボックスのみならず、その「テキスト部分」をクリックしても反応するようになります。
ユーザーが選択しやすくなるので、おすすめです。
「チェックボックス」は、「ラベルタグ(<label></label>)」で囲むとエラーになります。ラベルタグは付けないようにしましょう。

エラーメッセージの例
(参考)複数のフォームコントロールが単一の label 要素内に置かれている。
(参考)入力フィールドにラベルを付けられますか?
保存をクリックして完了です。
実際のお問い合わせページでは、以下のように表示されます。

追加した項目を「ホームページ管理者」と「ユーザー」への自動送信メールに表示させる方法は、あとの「追加した項目を自動送信メールに表示させる方法」で解説します。
ラジオボタンの追加方法
複数の選択肢の中から、ユーザーに必ず1つだけ選んでもらいたい場合は、「ラジオボタン」を使いましょう。
たとえばユーザーの「役職」について、必須で情報を収集したいときなどに適しています。
これまでどおり、挿入したい箇所にカーソルを合わせて、ラジオボタンをクリックしましょう。

以下を参考にタグを挿入してください。
- 項目タイプ:「ラジオボタン」
- 項目名:「タグの名前(例:radio-xxx)」
- 選択できる値:選択肢を1行ずつ入力
- 個々の項目をlabel要素で囲む。:各選択肢のラジオボタンだけでなく、「テキスト部分のクリック」も選択の対象にするかどうか

「個々の項目をlabel要素で囲む。」にチェックを入れると、選択肢のラジオボタンのみならず、その「テキスト部分」をクリックしても反応するようになります。
「ラジオボタン」は、「ラベルタグ(<label></label>)」で囲むとエラーになります。ラベルタグは付けないようにしましょう。

エラーメッセージの例
(参考)複数のフォームコントロールが単一の label 要素内に置かれている。
(参考)入力フィールドにラベルを付けられますか?
保存をクリックして完了です。
実際のお問い合わせページでは、以下のように表示されます。

追加した項目を「ホームページ管理者」と「ユーザー」への自動送信メールに表示させる方法は、あとの「追加した項目を自動送信メールに表示させる方法」で解説します。
承諾確認の追加方法
「個人情報の取り扱い」などに対して、ユーザーから承諾を得たい場合は、承諾確認を使用します。

以下を参考に、タグを挿入してください。
- 項目タイプ:「承諾確認チェックボックス」
- このチェックボックスは任意選択です。:必須項目にしないかどうか
- 項目名:「タグの名前(例:acceptance-xxx)」
- 同意条件:チェックボックスの後ろに記載する内容

「このチェックボックスは任意選択です。」のチェックを外すと必須項目になり、ユーザーは実際のチェックを入れない限り、送信ボタンを押せません。

個人情報の取り扱い(プライバシーポリシー)に対する同意確認は、必須項目にしてください。
なお、「個人情報の取り扱い(プライバシーポリシー)」のテキストには、HTMLの「aタグ(<a href=”URL”></a>)」でリンクを設置しましょう。
タグの中に「target=”_blank”」を書くと、リンクが新しいタブで開くため、ユーザーがフォームから離脱するのを防げます。

保存をクリックして完了です。
実際のお問い合わせページでは、以下のように表示されます。

お問い合わせページで、「テキストにリンクが設置されているか」や「新しいタブで開くか」などを確認しましょう。
追加した項目を「ホームページ管理者」と「ユーザー」への自動送信メールに表示させる方法は、あとの「追加した項目を自動送信メールに表示させる方法」で解説します。
ファイルアップロード機能の追加方法
ユーザーにファイルを添付してほしいときに使います。
画像やPDFなどのデータファイルのアップロード機能をフォームに追加したいときは、ファイルを使用します。

以下を参考にタグを挿入してください。
- 項目タイプ:「ファイルアップロード項目」
- 必須入力の項目。:必須項目にするかどうか
- 項目名:「タグの名前(例:file-xxx)」
- 受け入れ可能なファイル形式:拡張子を入力し、複数指定する場合は「|(半角の縦線)」で区切る。(例)「jpg|png|pdf」
- ファイルサイズの制限:(例)1mb

添付ファイルは、ホームページ管理者の自動通知メールに添付されるように設定することになります。添付ファイルのサイズは、メールで受信可能なサイズにしてください。
他と同様に「項目名」と「ラベルタグ(<label></label>)」を付けましょう。
保存をクリックすれば完了です。
実際のお問い合わせページでは、以下のように表示されます。

追加した項目を「ホームページ管理者」と「ユーザー」への自動送信メールに表示させる方法は、あとの「追加した項目を自動送信メールに表示させる方法」で解説します。
追加した項目を自動送信メールに表示させる方法
ここでは「フォーム」タブで追加した項目を、自動送信メールに表示させる(紐づける)方法を解説します。
まず、「メール」タブをクリックしてください。
すると、追加した項目に対するタグが表示されているのが分かります。

このタグを自動送信メールに設定すれば、追加した項目が表示されるようになりますよ。
試しに、ホームページ管理者への自動通知メールでやってみましょう。
「電話番号:」と入力したあとに、対応するタグを挿入します。

タグが挿入されたら保存をクリックしてください。
では、お問い合わせページでフォームを入力および送信し、自動通知メールを確認してみましょう。
フォームに入力した値が「電話番号:」の横に表示されていればOKです。

ファイルアップロード機能のタグについては、「ファイル添付」の欄に挿入してください。

一般的にユーザーへの自動返信メールには、ファイルは添付しません。ユーザーのメールボックス容量を圧迫するおそれやセキュリティのリスクがあるので、必要でなければ控えましょう。
スパムメール対策の重要性とおすすめツールを紹介
お問い合わせフォームはスパムメール対策が必須です。
スパムメール対策を施さない場合、以下の影響を受けるおそれがあります。
- 自動送信メールの機能が悪用され、大量のスパムメールが配信されてしまう
- メール受信側で迷惑メールと判定される
- メール受信側で受信数の制限がかかり、メールが届かなくなったり、届きにくくなったりする
- ホームページやドメイン名が危険な情報を配信していると誤って判定される
- ホームページやドメイン名の第三者信用評価(レピュテーション)が下がる
スパムメール対策として有名なのは、Googleの『reCAPTCHA(リキャプチャ)』です。
しかし、近年『reCAPTCHA』の無料プランは、月の評価回数が100万回から1万回に大幅に引き下げられました。
そのため、『Contact Form 7』のマニュアルではその代替ツールとして、『Cloudflare Turnstile(クラウドフレア ターンスタイル)』が紹介されていますよ。
Turnstile は Cloudflare によるスマートな CAPTCHA 代替サービスです。Contact Form 7 は Turnstile とのインテグレーションモジュールを提供し、あなたのフォームをスパムボットから守ります。Google reCAPTCHA とは異なり Turnstile は無料で利用できます。reCAPTCHA を使うべき理由が特にないのであれば Turnstile を選択してください。
『Cloudflare Turnstile』のメリットや導入方法は、以下の記事で詳しく解説しているので、ぜひ参考にしてください。

『Cloudflare Turnstile』のサイトキーとシークレットキーを『Contact Form 7』に設定したあと、フォーム編集画面で「保存」をクリックすれば、メール(2)に表示されていた以下のエラーメッセージは消えます。

Contact Form 7に関するよくある質問
最後に、『Contact Form 7』に関する「よくある質問」をまとめました。






