WordPressのコンタクトフォーム7は定番で利用されている問い合わせフォームかと思いますが、確認画面を表示したいという日本式?のフォームがどうしても必要になるときがあるかと思います。
その時は「Contact Form 7 add confirm」を利用して確認画面を簡単に表示させることができます。
ですが
目次
今回は、それではダメ!確認画面をポップアップで!!
というケースです。
ひさびさにどーするか悩んでみました。コンセプトはざっくり簡単に、忘れても後で見ればなんとなく思い出せるように?って感じです。
では、早速料理を始めたいと思います。
■必要な材料(プラグイン)
・Contact Form 7:コンタクトフォーム
・Contact Form 7 add confirm:コンタクトフォームの確認画面表示用プラグイン
・Popup Maker:ポップアップを作るプラグイン
・Simple Custom CSS and JS:スクリプトを作るプラグイン
上記のプラグインをWordPressにインストールしておきます。
■下準備1:コンタクトフォームを用意する
初期の簡単なものでOKです。「確認」のボタンを追加します。
ざざっといい加減なのでこんなところです。
<label> お名前 (必須)
[text* your-name] </label>
<label> メールアドレス (必須)
[email your-email] </label>
<label> 題名
[text your-subject] </label>
<label> メッセージ本文
[textarea your-message] </label>
[submit "送信"]
[confirm "確認"]
あとは、このコンタクトフォームを表示できるようにしておいてください。
■下準備2:ポップアップを作ろう!
「Popup Maker」>「Add Popup」で新規に作ります。
中身としては
<table> <tr> <th>名前</th> <td id="popup_name"></td> </tr> <tr> <th>メールアドレス</th> <td id="popup_email"></td> </tr> </table> <input type="submit" value="送信" id="pop-submit"> <input type="submit" value="キャンセル" id="pop-cancel">
※外観などは後ほど変更してくださいね。
https://docs.wppopupmaker.com/article/42-popup-maker-jquery-api
作成したら一覧に戻って「popmake-xxx」の「xxx」の数字を控えてください。
■メイン作業として
「Custom CSS & JS」>「Add Custom JS」をクリックして新規に作ります。
下記のコードを貼り付けます。「popupnum_id」に下準備で入手したIDを入れてください
popupnum_id=ここにPOPUPMAKERのIDを記述;
popupcancelflg=true;
document.addEventListener('wpcf7submit', function (event) {
switch (event.detail.status) {
case 'wpcf7c_confirmed':
jQuery('#popmake-'+popupnum_id+' #popup_name').html(jQuery('[name="your-name"]').val());
jQuery('#popmake-'+popupnum_id+' #popup_email').html(jQuery('[name="your-email"]').val());
PUM.open(popupnum_id);
break;
}
}, false);
jQuery(document).on('pumBeforeClose', '.pum', function () {
popupcancel();
});
jQuery(document).on('click', '#pop-cancel', function () {
popupcancel();
PUM.close(popupnum_id);
});
function popupcancel()
{
if(popupcancelflg)
{
wpcf7c_to_step1(jQuery("form"), true);
}
}
jQuery(document).on('click', '#pop-submit', function () {
popupcancelflg =false;
PUM.close(popupnum_id);
jQuery('.wpcf7-submit').click();
});
■ということで完成です。
フォームに内容を入力して、「確認」ボタンを押すとポップアップで確認が表示され、そのまま「送信」も可能!!

悩み始めて数時間で何とか料理できました。出来上がってみると大したことないってところ???