ラッコサーバー

ラッコサーバーでサイトを管理すると売却時の価値を高く保てます!
サイト/ドメインの売却をシームレスに実現します。

ラッコサーバー詳細
オンライン事業売買
WordPressサイト売買
ドメイン売買
データを読み込み中...
データを読み込み中...
データを読み込み中...

【WordPress】フォームを1ページに複数設置する方法(Contact Form 7)

お問い合わせ用と予約用、1つのページにフォームを2つ置きたいんだけど…どうやればいいんだろう?

Contact Form 7で1ページに複数のフォームを設置したい方へ。本記事では次の3点を解説します。

  • 複数フォームを設置する基本手順(コードなし)
  • 同じフォームを複数回貼る際の注意点
  • JavaScript競合のトラブル解決策

Contact Form 7(WordPress.org公式)は有効インストール1,000万以上の無料プラグイン。WordPress 7.0 + Contact Form 7 v6.1.6 で動作確認済みです(2026年6月時点)。

ラッコサーバー

ラッコサーバーでサイトを管理すると売却時の価値を高く保てます!
サイト/ドメインの売却をシームレスに実現します。

ラッコサーバー詳細
オンライン事業売買
WordPressサイト売買
ドメイン売買
データを読み込み中...
データを読み込み中...
データを読み込み中...

Contact Form 7は1ページに複数のフォームを設置できる

ショートコードを複数貼るだけで設置できる

Contact Form 7は複数のフォームを同時運用でき、複雑なコーディングは不要です(WordPress.org公式)。基本的な設置方法はショートコードをページに貼り付けるだけ。1ページに複数のフォームを置きたい場合も、それぞれのショートコードをページ内の好きな位置に貼り付けるだけで設置できます。

CF7のショートコードとは

CF7でフォームを作成すると、次のような形式のショートコードが発行されます。

[contact-form-7 id="xxxxxxx" title="フォーム名"]

このコードをページや投稿の本文に貼り付けると、そのフォームが表示されます。

「異なるフォーム」と「同じフォーム」で注意点が変わる

1ページに複数フォームを設置する場合、2つのパターンがあります。

パターン やり方 注意点
異なるフォームを複数設置(推奨) 別々のフォームを作成して、それぞれのショートコードを貼る なし。問題なく動作する
同じフォームを複数回設置 同じショートコードを2か所以上に貼る 意図しない動作が起きることがある(後述)

「お問い合わせ用」と「採用応募用」のように用途が異なる場合は、それぞれ専用のフォームを別々に作成して設置するのがおすすめです。

【基本】異なるフォームを1ページに複数設置する手順

コードなしで実現できる、最も基本的な方法です。WordPressの管理画面から操作します。実機確認済みです(2026年6月時点)。

手順1:フォームを必要な数だけ作成する

左メニューの「お問い合わせ」→「新規追加」から、設置したい数だけフォームを作成します。

WordPress管理画面のCF7メニュー—「コンタクトフォームを追加」リンク
▲ 左メニュー「お問い合わせ」→「コンタクトフォームを追加」

フォーム名は後で見分けられるよう、用途がわかる名前にしておきましょう。例えば「お問い合わせ」「採用応募」「資料請求」のように命名すると管理しやすくなります。

手順2:各フォームのショートコードをコピーする

フォームを保存すると、編集画面の上部にショートコードが表示されます。「コピー」ボタンでクリップボードにコピーしておきます。

CF7フォーム編集画面—ショートコード表示欄
▲ フォーム編集画面上部のショートコード欄

設置するフォームの数だけ、同様にショートコードをコピーしておきます。

手順3:固定ページ・投稿に複数のショートコードを貼り付ける

フォームを表示したいページの編集画面を開きます。本文の好きな位置に、手順2でコピーした各ショートコードを貼り付けます。

WordPressページ編集画面—コードエディターに2つのCF7ショートコードを入力した状態
▲ コードエディターモードで2つのショートコードを貼り付けた状態

ページを保存・プレビューして、フォームが正しく表示されれば設置完了です。

フォームの間に区切りを入れるとわかりやすい

複数のフォームを並べる場合は、各フォームの前に見出し(h2/h3)を入れると読者がどのフォームを使えばよいか迷いません。

<h2>お問い合わせ</h2>
(ここにお問い合わせフォームのショートコードを貼り付け)

<h2>採用応募</h2>
(ここに採用応募フォームのショートコードを貼り付け)

同じフォームを1ページに複数設置するときの注意点

同じショートコードを複数回貼るとJavaScript競合が起きる

同じショートコードを複数回貼ってしまうと、送信後のメッセージが意図しない場所に表示されたり、片方のフォームしか動作しないことがあります。

Contact Form 7は、各フォームの動作をJavaScriptで制御しています。同じフォームIDのショートコードを1ページに複数配置すると、JavaScriptが複数のフォームを正しく区別できず、次のような問題が起きることがあります。

  • 送信後の完了メッセージが両方のフォームに表示される
  • 一方のフォームでエラーメッセージが重複して表示される
  • 送信ボタンを押しても何も起きない

フォームを複製して別IDにすれば解決する

解決策はシンプルです。同じフォームを複数回貼るのではなく、フォームを複製して別IDのフォームとして設置するだけです。

CF7フォーム一覧—フォーム行ホバー時に「複製」リンクが表示された状態
▲ フォーム名にカーソルを合わせると「複製」リンクが現れる

管理画面「お問い合わせ」一覧でフォーム名にカーソルを合わせると、フォーム名の直下に「複製」リンクが表示されます(マウスをフォーム行に重ねたときに表示されるリンクです)。「複製」をクリックすると、設定を引き継いだ別フォームが新しいIDで作成されます。この複製したフォームのショートコードを使えば、同じ設定・見た目でIDが異なるフォームを設置できます。

同じショートコードを複数回貼らない

同一ページに同じショートコードを2回以上貼ると、送信処理が正常に動作しないことがあります。必ず「複製」で別フォームを作成してから、それぞれのショートコードを使用してください。

複数フォーム設置でよくあるトラブルと対処法

フォームが正しく送信されない・確認画面が出ない

複数フォームを設置してから「片方のフォームが動かない」という場合、多くは同じフォームIDの重複が原因です。

確認手順:ページのHTMLソースを表示して(Ctrl+U)、同じフォームIDが複数回使われていないか確認します。例えば id="e6b7848" のような文字列が2か所以上あれば重複しています。重複している場合はフォームを複製して別IDにします。

片方のフォームしか動作しない

両方のフォームのショートコードを貼ったのに片方だけ動く、という場合も同じ原因であることがほとんどです。フォームを複製してIDを別にする手順(上記)で解決します。

それでも解決しない場合は

他のプラグインやテーマのJavaScriptとの競合が原因のこともあります。プラグインを一時的に無効化して原因を特定するか、Contact Form 7 公式サポートフォーラムに問い合わせてみましょう。

💡 フォームが増えてもサクサク動くWordPress環境を

複数のお問い合わせフォームをページに配置すると、それだけスクリプトの読み込みが増えてページの表示速度に影響することがあります。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を用意し、それぞれのショートコードを使用します。