
Contact Form 7で1ページに複数のフォームを設置したい方へ。本記事では次の3点を解説します。
- 複数フォームを設置する基本手順(コードなし)
- 同じフォームを複数回貼る際の注意点
- JavaScript競合のトラブル解決策
Contact Form 7(WordPress.org公式)は有効インストール1,000万以上の無料プラグイン。WordPress 7.0 + Contact Form 7 v6.1.6 で動作確認済みです(2026年6月時点)。
目次
Contact Form 7は1ページに複数のフォームを設置できる
ショートコードを複数貼るだけで設置できる
Contact Form 7は複数のフォームを同時運用でき、複雑なコーディングは不要です(WordPress.org公式)。基本的な設置方法はショートコードをページに貼り付けるだけ。1ページに複数のフォームを置きたい場合も、それぞれのショートコードをページ内の好きな位置に貼り付けるだけで設置できます。
CF7でフォームを作成すると、次のような形式のショートコードが発行されます。
[contact-form-7 id="xxxxxxx" title="フォーム名"]
このコードをページや投稿の本文に貼り付けると、そのフォームが表示されます。
「異なるフォーム」と「同じフォーム」で注意点が変わる
1ページに複数フォームを設置する場合、2つのパターンがあります。
| パターン | やり方 | 注意点 |
|---|---|---|
| 異なるフォームを複数設置(推奨) | 別々のフォームを作成して、それぞれのショートコードを貼る | なし。問題なく動作する |
| 同じフォームを複数回設置 | 同じショートコードを2か所以上に貼る | 意図しない動作が起きることがある(後述) |
「お問い合わせ用」と「採用応募用」のように用途が異なる場合は、それぞれ専用のフォームを別々に作成して設置するのがおすすめです。
【基本】異なるフォームを1ページに複数設置する手順
コードなしで実現できる、最も基本的な方法です。WordPressの管理画面から操作します。実機確認済みです(2026年6月時点)。
手順1:フォームを必要な数だけ作成する
左メニューの「お問い合わせ」→「新規追加」から、設置したい数だけフォームを作成します。

フォーム名は後で見分けられるよう、用途がわかる名前にしておきましょう。例えば「お問い合わせ」「採用応募」「資料請求」のように命名すると管理しやすくなります。
手順2:各フォームのショートコードをコピーする
フォームを保存すると、編集画面の上部にショートコードが表示されます。「コピー」ボタンでクリップボードにコピーしておきます。

設置するフォームの数だけ、同様にショートコードをコピーしておきます。
手順3:固定ページ・投稿に複数のショートコードを貼り付ける
フォームを表示したいページの編集画面を開きます。本文の好きな位置に、手順2でコピーした各ショートコードを貼り付けます。

ページを保存・プレビューして、フォームが正しく表示されれば設置完了です。
複数のフォームを並べる場合は、各フォームの前に見出し(h2/h3)を入れると読者がどのフォームを使えばよいか迷いません。
<h2>お問い合わせ</h2>
(ここにお問い合わせフォームのショートコードを貼り付け)
<h2>採用応募</h2>
(ここに採用応募フォームのショートコードを貼り付け)
同じフォームを1ページに複数設置するときの注意点
同じショートコードを複数回貼るとJavaScript競合が起きる

Contact Form 7は、各フォームの動作をJavaScriptで制御しています。同じフォームIDのショートコードを1ページに複数配置すると、JavaScriptが複数のフォームを正しく区別できず、次のような問題が起きることがあります。
- 送信後の完了メッセージが両方のフォームに表示される
- 一方のフォームでエラーメッセージが重複して表示される
- 送信ボタンを押しても何も起きない
フォームを複製して別IDにすれば解決する
解決策はシンプルです。同じフォームを複数回貼るのではなく、フォームを複製して別IDのフォームとして設置するだけです。

管理画面「お問い合わせ」一覧でフォーム名にカーソルを合わせると、フォーム名の直下に「複製」リンクが表示されます(マウスをフォーム行に重ねたときに表示されるリンクです)。「複製」をクリックすると、設定を引き継いだ別フォームが新しいIDで作成されます。この複製したフォームのショートコードを使えば、同じ設定・見た目でIDが異なるフォームを設置できます。
同一ページに同じショートコードを2回以上貼ると、送信処理が正常に動作しないことがあります。必ず「複製」で別フォームを作成してから、それぞれのショートコードを使用してください。
複数フォーム設置でよくあるトラブルと対処法
フォームが正しく送信されない・確認画面が出ない
複数フォームを設置してから「片方のフォームが動かない」という場合、多くは同じフォームIDの重複が原因です。
確認手順:ページのHTMLソースを表示して(Ctrl+U)、同じフォームIDが複数回使われていないか確認します。例えば id="e6b7848" のような文字列が2か所以上あれば重複しています。重複している場合はフォームを複製して別IDにします。
片方のフォームしか動作しない
両方のフォームのショートコードを貼ったのに片方だけ動く、という場合も同じ原因であることがほとんどです。フォームを複製してIDを別にする手順(上記)で解決します。
他のプラグインやテーマのJavaScriptとの競合が原因のこともあります。プラグインを一時的に無効化して原因を特定するか、Contact Form 7 公式サポートフォーラムに問い合わせてみましょう。
複数のお問い合わせフォームをページに配置すると、それだけスクリプトの読み込みが増えてページの表示速度に影響することがあります。WordPressの安定した動作には、サーバー環境の選択も重要です。
ラッコサーバーは高速Webサーバー「LiteSpeed」を採用し、HTTP/3対応・SSD・稼働率99.99%以上のWordPressに最適化した環境を提供しています。WordPress自動インストール付きで、申し込み後すぐに始められます。
月額330円(税込)〜で利用でき、30日間の無料お試しから試すことができます。
よくある質問
Q. Contact Form 7で1ページに何個までフォームを設置できますか?
設置できる個数の上限はなく、作成したフォームのショートコードを貼り付ける数だけ設置できます。ただし、フォームを多数配置するとページの読み込みスクリプトが増えるため、表示速度への影響に注意してください。
Q. 同じフォームを1ページに2回貼っても問題ありませんか?
同一ショートコードを複数回貼ると、JavaScriptが正しく動作せず、送信後のメッセージが意図しない場所に表示されることがあります。フォームを「複製」して別IDにしてから使用してください。
Q. 複数のフォームから別々のメールアドレスに送信できますか?
できます。フォームごとに「メール」タブで送信先のメールアドレスを個別に設定できます。「お問い合わせ窓口」と「採用担当」に別々で届けるといった使い方が可能です。
Q. フォームを複製するにはどうすればよいですか?
管理画面「お問い合わせ」一覧でフォーム名にカーソルを合わせると、フォーム名の直下に「複製」リンクが表示されます(マウスをフォーム行に重ねたときに表示されるリンクです)。「複製」をクリックすると、フォームの設定(フォームタグ・メール設定など)を引き継いだ別フォームが新しいIDで作成されます。
Q. 複数フォームを設置したら片方だけ動かなくなりました。原因は?
多くは同じフォームIDのショートコードを重複して貼ったことが原因です。管理画面「お問い合わせ」の一覧でそれぞれ別のフォームのショートコードを使っているか確認し、同じIDになっていたらフォームを複製して別IDにします。
Q. ショートコード以外にフォームを埋め込む方法はありますか?
PHPのテーマファイルに直接埋め込む方法もありますが、テーマに依存するため更新のたびに変更が消えるリスクがあります。一般的にはショートコードでの設置が安全でおすすめです。
まとめ
Contact Form 7で1ページに複数のフォームを設置する手順をまとめます。
- 基本:異なる用途のフォームを必要な数だけ作成し、それぞれのショートコードをページに貼り付けるだけで設置できます。
- 注意点:同じショートコードを複数回貼ると、JavaScriptの競合で送信が正常に動作しないことがあります。
- 解決策:フォームを「複製」して別IDを用意し、それぞれのショートコードを使用します。







