ラッコサーバー

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

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

【WordPress】ステップ式フォームを作成する方法(Multistep for Contact Form 7)

長い問い合わせフォームをステップ式に分割して、確認画面も付けたい!

Contact Form 7(CF7)のフォームにステップ式の画面遷移と確認画面を追加するには、「Contact Form 7 Multi-Step Forms」プラグインを使います。

このプラグインを使うと、次のことができます。

  • フォームを「入力 → 確認 → 送信完了」の複数ステップに分割できる
  • 確認画面に入力内容を表示してから送信できる
  • 「戻る」ボタンで前のステップに戻れる

この記事では、固定ページの作成からフォームの設定・動作テストまで、手順を順番に解説します。WordPress 7.0 + Contact Form 7 Multi-Step Forms v4.6 で動作確認済み(2026年6月時点)です。

ラッコサーバー

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

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

Contact Form 7 Multi-Step Forms とは

「Contact Form 7 Multi-Step Forms」は、Contact Form 7のフォームを複数のステップ(ページ)に分割できる無料プラグインです。

  • 有効インストール数:50,000以上
  • 最終更新:2026年5月(バージョン4.6)
  • 対応WP:4.7以上(7.0テスト済み)

2012年から提供されている実績あるプラグインで、WordPress.org公式ディレクトリから無料でインストールできます。

無料版の制限について

無料版はフォーム全体で送信できるデータ量が最大4KB(約1,000文字)に制限されています。複数のテキストエリアを設けるフォームでは上限に達することがあります。5MB まで対応する Pro版も提供されています。

プラグインをインストールする

WordPress管理画面の「プラグイン」→「新規プラグインを追加」から Contact Form 7 Multi-Step Forms を検索し、「今すぐインストール」→「有効化」をクリックします。

WordPress管理画面—Contact Form 7 Multi-Step Formsの「今すぐインストール」ボタン
▲ プラグイン検索結果。「今すぐインストール」をクリックする

有効化すると、Contact Form 7のフォーム編集画面にステップ設定用の「multistep」タグが追加されます。

STEP1:各ステップ用の固定ページを作成する

このプラグインでは、各ステップを別々の固定ページに配置します。フォームを設定するときにページURLが必要になるため、先にページを作成しておきます。

今回は次の3ページを作成します。

  • 入力ページ(例:お問い合わせ)
  • 確認ページ(例:お問い合わせ確認)
  • 完了ページ(例:お問い合わせ完了)

「固定ページ」→「新規固定ページを追加」から3つのページを作成してください。それぞれパーマリンクを設定し、公開してURLを控えておきます。完了ページには「送信が完了しました」などのテキストを入力しておきます。

確認ページ・完了ページは最初に公開する

パーマリンクは「下書き」状態では確定しないサーバー環境があります。必ず公開してURLが確定した状態で次のSTEPに進んでください。

STEP2:各ステップのフォームを作成する

Contact Form 7の「新規追加」から、入力フォームと確認フォームの2つを作成します。

作成するフォームは2つ
  • フォームA:入力フォーム(入力ページに配置)
  • フォームB:確認フォーム(確認ページに配置)

完了ページにはフォームを配置しません。

入力フォームの設定(フォームA)

「お名前」「メールアドレス」「お問い合わせ内容」など、通常のCF7フォームと同様に入力フィールドを設定します。フォームの末尾[multistep] タグを追加します。

フォーム編集画面の上部に「multistep」「multiform」「previous」の3つのボタンが追加されています。「multistep」ボタンをクリックするとタグ設定画面が開きます。次の項目を設定してください。

Contact Form 7フォーム編集画面—multistep・multiform・previousボタンが追加された状態
▲ プラグイン有効化後、フォーム編集画面に「multistep」「multiform」「previous」ボタンが追加される
  • Name:任意の名前(例:multistep-1
  • First Step:チェックを入れる(このフォームが最初のステップ)
  • Next Page URL:確認ページのURL(例:https://example.com/contact-confirm/

生成されるタグの例:

[multistep multistep-1 first_step "https://example.com/contact-confirm/"]

「送信」ボタンの代わりに「次へ進む」などのラベルを付けたい場合は [submit "次へ進む"] と記述します。フォーム末尾の完成例:

[text your-name placeholder "お名前"]
[email your-email placeholder "メールアドレス"]
[textarea your-message placeholder "お問い合わせ内容"]

[submit "次へ進む"]
[multistep multistep-1 first_step "https://example.com/contact-confirm/"]
Contact Form 7フォームタブ—末尾に[submit]と[multistep first_step]タグが記述された状態
▲ フォームタブの末尾に[submit “次へ進む”]と[multistep]タグを追記する

確認フォームの設定(フォームB)

確認フォームでは、入力フォームで入力した内容を [multiform] タグで表示します。[multiform "フィールド名"] のように、表示したいフィールドの名前を指定します。

Contact Form 7フォーム編集画面—確認フォーム(フォームB)のmultiformタグ記述例
▲ 確認フォーム(フォームB)のフォームタブに[multiform]タグで入力内容を表示する

確認フォームの記述例:

お名前:[multiform "your-name"]
メール:[multiform "your-email"]
内容:[multiform "your-message"]

[previous "入力画面に戻る"]
[submit "この内容で送信する"]
[multistep multistep-2 last_step send_email]

各タグの役割:

  • [multiform "フィールド名"]:前のステップで入力した値を表示する(フォームタブのみ使用可)
  • [previous "ラベル"]:前のステップ(入力画面)に戻るボタン
  • [multistep multistep-2 last_step send_email]:このフォームが最後のステップで、送信時にメールを送信する
メール設定はフォームBで行う

メール送信の設定(送信先アドレス・件名・本文など)は、確認フォーム(フォームB)の「メール」タブで設定してください。send_email オプションが付いているフォームのメール設定が実際に送信に使われます。入力フォーム(フォームA)のメール設定は使われません。

multiformタグはメールタブでは使えない

[multiform] タグはフォームタブのみで使用できます。確認フォームのメールタブで [multiform "your-name"] と書いても値が取得できません。メールタブでは通常のCF7タグ(例:[your-name])をそのまま使用してください。

STEP3:固定ページにショートコードを配置する

作成した固定ページに、対応するフォームのショートコードを貼り付けます。

  • 入力ページ → フォームA(入力フォーム)のショートコードを貼り付ける
  • 確認ページ → フォームB(確認フォーム)のショートコードを貼り付ける

ショートコードはContact Form 7の一覧画面(「お問い合わせ」→「コンタクトフォーム」)で確認できます。各フォームの行に ショートコード が表示されているので、コピーして固定ページに貼り付けます。

▲ 「お問い合わせ」→「コンタクトフォーム」の一覧で各フォームのショートコードを確認できる
「コンタクトフォームが見つかりません」と表示される場合

固定ページにショートコードを貼り付けても「コンタクトフォームが見つかりません」と表示される場合は、以下を確認してください。

  • ショートコードの ID が正しいか(フォームを保存し直すとIDが変わることがある)
  • フォームが削除されていないか(一覧画面で該当フォームが存在するか確認)
  • ショートコードを貼り付けた後に固定ページを更新(保存)したか

Contact Form 7の一覧画面で各フォームの行に表示されているショートコードをコピーし直して貼り付けると解消することがほとんどです。

フォームの「保存」を忘れると、ショートコードのIDが変わることがある。作成後は必ず保存してからショートコードをコピーしよう。

STEP4:送信テストを実施する

入力ページを開き、フォームに内容を入力して「次へ進む」をクリックします。確認ページに入力内容が正しく表示されるか確認してください。

「この内容で送信する」をクリックして送信を完了させ、以下を確認します。

  • 管理者宛のメールが届いているか
  • 自動返信メールが届いているか(設定している場合)
  • 完了ページに正しく遷移するか
テスト後は完了ページのテキストを整える

動作確認が取れたら、完了ページのテキストを「お問い合わせいただきありがとうございます。内容を確認のうえ、3営業日以内にご返信いたします。」など、実際の文言に更新しておきましょう。

注意事項とよくあるトラブル

「次へ」を押したのに画面が変わらない…。キャッシュをオンにしたら他人の入力内容が表示された…。

キャッシュが有効だと他人の入力内容が表示される

個人情報漏洩リスク

サーバー側のキャッシュ機能が有効な環境でこのプラグインを使うと、別ユーザーが入力した内容が表示されてしまうことがあります。このプラグインはCookieでフォームデータを一時保持する仕組みのため、キャッシュと相性が悪いことが原因です。
プラグインを有効化したら、必ずキャッシュプラグイン(W3 Total Cache・WP Super Cacheなど)やサーバー側のキャッシュ設定で、お問い合わせ関連ページをキャッシュ対象から除外してください。

無料版は4KBのデータ制限がある

無料版は全ステップのフォームデータをCookieに保存するため、送信できるデータ量の上限が4KB(約1,000文字)です。テキストエリアに長文を入力するフォームの場合、上限を超えてデータが欠落することがあります。

長文の入力が想定される場合は、テキストエリアに maxlength:800 などの制限を設けるか、Pro版を検討してください。

「次へ」ボタンを押しても遷移しない

次のページへ遷移しない場合、以下の点を確認してください。

  • [multistep] タグがフォームの末尾に正しく挿入されているか
  • Next Page URL に設定したURLが公開済みページのURLか(スラッグのみの指定はNG。https:// から始まるフルURLで指定する)
  • CF7の必須フィールドにバリデーションエラーが出ていないか(エラーがあると次のページに進めない)
  • JavaScriptのエラーが出ていないか(ブラウザの開発者ツールのコンソールで確認)
💡 フォームからのメール送信をもっと確実に

ステップ式フォームを構築しても、送信メールが届かなければ意味がありません。迷惑メールに振り分けられる問題の多くは、サーバーのメール認証設定が原因です。

ラッコサーバーはSPF・DKIM・DMARC設定に対応しており(公式ナレッジ参照)、独自ドメインからの送信でもメールが届きやすい環境を整えています。また、LiteSpeed Web Serverを採用しているため、LiteSpeed Cacheプラグインとの連携でキャッシュをきめ細かく制御できます。

月額330円(税込)〜で利用でき、30日間の無料お試しも用意されています。

よくある質問

無料で使えますか?

はい、無料で使えます。ただし無料版は送信できるデータ量が最大4KB(約1,000文字)に制限されています。フォームの合計入力量がこの上限を超えると、データが欠落する場合があります。長文の入力が想定される場合はPro版を検討してください。

確認画面に入力内容を表示するにはどうすればよいですか?

確認フォーム(フォームB)の「フォーム」タブで [multiform "フィールド名"] タグを使います。例えば名前フィールドを表示したい場合は [multiform "your-name"] と記述します。メールタブでは使用できない点に注意してください。メールの本文には通常のCF7タグ([your-name])を使用します。

ステップを3つ以上に増やせますか?

はい、3つ以上のステップにも対応しています。固定ページとフォームの数を増やし、各フォームの [multistep] タグで次のページURLを正しく設定することで実現できます。最初のフォームには first_step、最後のフォームには last_step send_email、中間のフォームにはいずれも付けずにURLだけを指定します。ただし、ステップが増えるほど合計データ量が無料版の4KB制限に近づくため注意が必要です。

Pro版との違いは何ですか?

無料版とPro版の主な違いは次のとおりです。

  • データ容量:無料版 4KB / Pro版 5MB
  • 条件付きステップスキップ:Pro版のみ対応(特定の入力内容によってステップを飛ばせる)
  • セッションストレージ:Pro版はCookieではなくセッションストレージを使用するため、容量が大幅に増加

Contact Form 7 Multi-Step Forms に不具合はありますか?

よく報告されているのは「キャッシュが有効な環境で他ユーザーの入力内容が表示される」問題です。これはプラグインのバグではなく、Cookieを使ったデータ保持方式とサーバーキャッシュの相性が原因です。お問い合わせ関連ページをキャッシュ対象から除外することで解消できます。また、最近のバージョン(v4.4.4以降)でいくつかの不具合が修正されています。プラグインを常に最新版に保つことが推奨されます。

まとめ

「Contact Form 7 Multi-Step Forms」プラグインを使うと、Contact Form 7のフォームに入力確認画面と複数ステップの遷移を追加できます。設定の流れをおさらいすると:

  1. 入力・確認・完了の3つの固定ページを作成して公開する
  2. 入力フォーム(フォームA)に [multistep first_step "確認ページURL"] を追加する
  3. 確認フォーム(フォームB)に [multiform][previous][multistep last_step send_email] を追加する
  4. 各ページに対応するフォームのショートコードを貼り付ける
  5. キャッシュプラグインのお問い合わせページ除外設定を忘れずに行う

無料版は4KBのデータ制限があります。長文フォームを想定している場合はPro版も選択肢に入れてください。