『【永久無料】宿泊施設の予約管理システム自作する10ステップ』の3ステップ目、予約フォームを作る方法を解説します。
この記事では、WordPressサイトの初期設定が完了したところから説明します。
(Word Pressの初期設定がまだの方はこちら)
>>ステップ1:WordPressの始め方|初心者でも簡単開設!
>>ステップ2:WordPress開設後にやるべき2つの初期設定
予約フォームは、WordPressのプラグイン「Contact form 7(コンタクトフォーム7)」を使えば簡単かつ無料で作れます。
コピペでOKのテンプレートも用意したので安心してください。コピペだけでも、民宿しまだと同じ予約フォームは作れます。
予約フォームを作成し、見た目を整える
整った予約フォームがあると、顧客も安心して予約を入れられます
それではどうぞ!
予約フォーム作成の流れ
予約フォームは次の8つの手順で作っていきます。
- プラグイン「Contact form7」を導入
- 予約フォームを作成
- 予約フォームを設置するページを作成
- 予約受付完了のページを作成
- 予約フォームの見た目を整える
- 自動返信メールを用意する
- セキュリティ対策プラグイン「ReCaptcha」を導入
- 予約フォームとGoogleスプレッドシートを紐づける
この記事で紹介するのは⑤番までです。⑥番以降はこちら
1.Contact form7をダウンロード
予約フォームを簡単に作れるプラグイン「Contact form7」をダウンロードします。
WordPressに機能を追加するための拡張ツールです。プラグインのインストールにより、自分でプログラミングをしなくても、サイトに様々な機能を実装できます。
Contact form7のダウンロード方法
Word Pressの管理画面から「プラグイン」→「新規追加」→検索窓「Contact Form7」→「今すぐインストール」→「有効化」で完了です。
詳しくはこちらの記事を参考にしてください。
2.予約フォームを作成
プラグインをインストールすると、ダッシュボードに「お問合せ」のタブが増えるので、そこから設定していきます。
「お問合せ」→「新規追加」
タイトルを「予約フォーム」などに設定して、項目を追加していきましょう。
デフォルトだと名前とメッセージくらいしか記入項目がないので、宿泊施設用にカスタマイズします。
コンタクトフォームの詳しい操作方法については、下記サイトを参考にしてください。
「民宿しまだとおなじでいいや」という方は、下記コードをコピペでOKでOKです。
コピペ用コードを見る
<div class="moji"><span class="must">必須</span><span class="book">ご利用日</span></div>
<div class="para"><!--横並び用-->
<div class="komoji4">
<div class="moji"><span class="must">必須</span><span class="book">チェックイン日</span></div>
[date* date-checkin min:today+2days]
</div>
<div class="komoji4">
<div class="moji"><span class="must">必須</span><span class="book">泊数</span></div>
[select* hakusuu "1" "2" "3" "4" "5"]
</div>
</div>
<div class="moji"><span class="must">必須</span><span class="book">到着予定時刻</div>
<div class="komoji3">夕食付の場合は18:00までにお願いいたします。</div>
[select* arrivaltime include_Blank "15:00" "16:00" "17:00" "18:00" "19:00" "20:00" "21:00"]</label>
<div class="moji"><span class="must">必須</span><span class="book">お食事</span></div>
[select* meal "夕・朝食付き" "朝食のみ" "夕食のみ" "食事なし"]
<div class="moji"><span class="must">必須</span><span class="book">ご宿泊人数</span></div>
<div class="para">
<div class="komoji4"><span class="book2">大人:男性</span>
[select* men "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"]
</div>
<div class="komoji4"><span class="book2">大人:女性</span>
[select* women "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"]
</div>
</div>
<!--子供欄の記述始め-->
<div class="komoji1"><span class="book2">お子様(12歳未満)</span></div>
<div class="komoji3">12歳以上は大人にカウントしてください</div>
<div class="para">
<div class="komoji4">
[select* numchild placeholder "0" "1" "2" "3" "4" "5" "6" "7" "8" "9" "10"]
</div>
<div class="komoji4"></div>
</div>
[text text-child placeholder "お子様の年齢"]
<!--子供欄の記述おわり-->
<div class="moji"><span class="free">任意</span><span class="book">ご年代</span></div>
[select nendai include_blank "10~20代" "30~40代" "50~60代" "60~70代" "80代以上"]
<div class="moji"><span class="must">必須</span><span class="book">お名前</span></div>
[text* your-name]
<div class="moji"><span class="must">必須</span><span class="book">メールアドレス</span></div>
[email* your-email]
<div class="moji"><span class="must">必須</span><span class="book">メールアドレス(確認用)</span></div>
[email* your-email]
<div class="moji"><span class="must">必須</span><span class="book">電話番号</span></div>
[tel* telno]
<div class="moji"><span class="must">必須</span><span class="book">ご住所:都道府県</span></div>
[select* prefe include_Blank "北海道" "青森県" "岩手県" "宮城県" "秋田県" "山形県" "福島県" "茨城県" "栃木県" "群馬県" "埼玉県" "千葉県" "東京都" "神奈川県" "新潟県" "富山県" "石川県" "福井県" "山梨県" "長野県" "岐阜県" "静岡県" "愛知県" "三重県" "滋賀県" "京都府" "大阪府" "兵庫県" "奈良県" "和歌山県" "鳥取県" "島根県" "岡山県" "広島県" "山口県" "徳島県" "香川県" "愛媛県" "高知県" "福岡県" "佐賀県" "長崎県" "熊本県" "大分県" "宮崎県" "鹿児島県" "沖縄県" "海外"]
<div class="moji"><span class="must">必須</span><span class="book">ご住所:市町村以下</span></div>
[text text-address]
<div class="moji"><span class="free">任意</span><span class="book">ご要望・ご質問など</span></div>
[textarea your-message]
<div class="submit">[submit "送信"]</div>
<div style="text-align:right; font-size:0.8rem;"><a style="color:#c0c0c0;" href="https://shimadablog.com/system/" target="_blank" rel="noreferrer noopener">©shimadablog.com</a></div>
3.予約フォームを設置するページを作成する
作った予約フォームを表示させるページを作りましょう。
「固定ページ」→「新規追加」から、新しいページを作成します。
まっさらなページの編集画面になるので、次の4つを設定します。
- ページのタイトルを「ご予約フォーム」などにする
- 右下の「+」マークをクリック
- 検索窓に「コンタクト」と入力
- 富士山マークの「contactform7」をクリック
コンタクトフォームのブロックから「予約フォーム」を選択して、「ページを表示」を押します。
下の画像のように、設定した予約フォームが表示されればOKです。※装飾する前なので、殺風景なものでOKです。
問題なく表示できたら、固定ページを保存しておきましょう。このときパーマリンクも併せて作るのがおすすめです。
4.予約受付完了をわかりやすく設定する
現時点では、予約フォームを送信すると下の画像のように「メッセージは送信されました。」と小さく出るだけです。
これだとわかりずらいので、受付完了の別ページに飛ぶように設定しましょう。
方法は下記の2ステップです。
- 予約受付完了のページを作る
- 送信ボタンで完了ページに飛ぶ設定をする
予約受付完了のページを作る
予約フォームのページと同様に、新規固定ページから作成します。
民宿しまだのページコードをコピペでもOKです。
ページの編集画面右上のメニューボタンから「コードエディター」を選択して、下のコードを貼り付けてください。
コピペ用コードを見る
ページタイトル:【送信完了】お申し込みありがとうございます
<!-- wp:paragraph {"className":"u-mb-ctrl u-mb-20"} -->
<p class="u-mb-ctrl u-mb-20">空室状況を確認し、ご連絡させて頂きます。<span style="color: #ff0000;">以下、必ずお目をお通しください。</span></p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading"><span style="font-size: 1em; letter-spacing: 0.05em;"><span style="font-size: 20px;"><strong>①自動送信メールをご確認ください</strong></span></span></h4>
<!-- /wp:heading -->
<!-- wp:paragraph {"className":""} -->
<p><span style="font-size: 1em; letter-spacing: 0.05em;">入力頂いたアドレスに自動送信しております。</span><br><span style="font-size: 1em; letter-spacing: 0.05em;"><strong><span style="color: #ff0000;">届かない場合は、こちらから連絡ができません。</span></strong></span>アドレスを<span style="font-size: 1em; letter-spacing: 0.05em;">ご確認の上、再度お申し込みをお願い致します。</span></p>
<!-- /wp:paragraph -->
<!-- wp:heading {"level":4} -->
<h4 class="wp-block-heading"><span class="color_13" style="font-size: 20px; letter-spacing: 0.05em;"><strong>②現時点では予約は確定しておりません</strong></span></h4>
<!-- /wp:heading -->
<!-- wp:paragraph -->
<p><span class="color_13" style="font-size: 1em; letter-spacing: 0.05em; color: #ff0000;"><strong>当方からのメール返信をもって予約確定</strong></span>となります。下記いずれかより返信しますので、受信設定をお願いします。</p>
<!-- /wp:paragraph -->
<!-- wp:loos/cap-block {"className":"is-style-small_ttl"} -->
<div class="swell-block-capbox cap_box is-style-small_ttl"><div class="cap_box_ttl"><span>〇〇(お店の名前) メールアドレス</span></div><div class="cap_box_content"><!-- wp:list -->
<ul><!-- wp:list-item -->
<li><a href="mailto:〇〇(お店のアドレス)" target="_blank" rel="noreferrer noopener"><span class="qu" role="gridcell" translate="no" tabindex="-1"><span class="go">minshukushimada</span></span>@<span class="qu" role="gridcell" translate="no" tabindex="-1"><span class="go">gmail.com</span></span></a></li>
<!-- /wp:list-item -->
<!-- wp:list-item -->
<li><span class="qu" role="gridcell" translate="no" tabindex="-1"><span class="go"><a href="mailto:〇〇(お店のアドレス)" target="_blank" rel="noreferrer noopener">shimada.haruhiko@gmail.com</a></span></span></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></div></div>
<!-- /wp:loos/cap-block -->
<!-- wp:paragraph {"className":"u-mb-ctrl u-mb-10"} -->
<p class="u-mb-ctrl u-mb-10">以上となります。何卒よろしくお願い申し上げます。</p>
<!-- /wp:paragraph -->
※コードエディターの使い方は、下記サイトを参考にしてください。
送信ボタンで受付完了ページに飛ぶ設定をする
コンタクトフォーム7の「予約フォーム」のコードの一番下に次のコードを追加します。
<script> <!--受付完了ページに飛ばす-->
document.addEventListener( 'wpcf7mailsent', function( event ) {
location = '飛ばしたいページのURL';
}, false );
</script>
※「飛ばしたいページのURL」のところに、受付完了ページのURLを入れてください。
以上で完了です!
予約フォームを装飾
予約フォームのページをきれいに装飾しましょう。
「CSS」というプログラミングを使うのですが、わからない人はコピペ用のコードがあるので安心してください。
手順は以下です。
- カスタマイズ
- 追加CSS
- 装飾コードを貼り付け
予約ページを表示して、ページ上の「カスタマイズ」をクリックします。(編集画面ではなく、ページを表示した状態です)
「追加CSS」をクリック
追加CSS欄に、下のコードをコピペすればOKです。
コピペ用コードを見る
/*=============================
コンタクトフォームの装飾
==============================*/
/*フォーム全体*/
.wpcf7{
background-color:#EEEEEE;
padding:10px!important;
}
/*小さいテキスト入力欄,メールアドレス入力欄*/
.wpcf7-text{
width:90%!important;
background-color:#fff;
margin-bottom:5px;
border-radius:3px!important;
}
/*大きいテキスト入力欄装飾*/
.wpcf7 textarea{
width:100%!important;
height:9rem!important;
background-color:#fff;
}
/*電話番号入力欄*/
.wpcf7-tel {
width:50%;
height:45px;
margin-bottom:5px;
border-radius:3px;
background-color:#fff;
}
/*ドロップダウンリスト*/
.wpcf7-list-item-label{
font-size:90%;
font-weight:1;
background-color:#fff;
}
/*セレクト部*/
.wpcf7-form .wpcf7-select {
background-color:#fff;
height: 40px;
width: 75% !important;
margin-right: 10px;
margin-top: 10px;
font-size:85%;
}
.wpcf7-validates-as-number{
background-color:#fff;
}
/*日付*/
.wpcf7-date{
width: 95%!important;
height:2rem;
margin-top:5px;
margin-bottom:15px!important;
margin-right:5px!important;
background-color:white;
font-size:1.1rem
}
/* ==文字の装飾== */
.moji{
/* margin-top:10px; */
margin-bottom:5px;/*見出しと入力欄の間調整*/
}
.komoji1{
margin:0;
margin-top:10px!important;
}
}
.komoji2{
margin-bottom:0px;
font-size:80%;
color:blue;
}
.komoji3{
margin-top:px;
margin-bottom:-10px;
font-size:80%;
font-weight:1;
color:blue;
}
/* 大項目の文字 */
.book{
font-weight:550;
}
/* 小項目の文字 */
.book2,.wpcf7-list-item-label{
font-size:95%;
font-weight:500;
background-color:#EEEEEE;
}
/* 必須マーク */
.must{
color: #fff;
margin-right: 10px;
margin-top: 10px;
padding: 6px 10px;
background: #FF0461;
border-radius: 20px;
font-size:80%
}
/* 任意マーク */
.free {
color: #fff;
margin-right: 10px;
padding: 6px 10px;
background: #424242;
border-radius: 20px;
font-size:80%
}
/* ==文字の装飾おわり== */
/* ==送信ボタンのカスタマイズ == */
input.wpcf7-submit {
padding:1em !important;/* ボタン内の余白 */
margin:2em 0em !important;/* ボタンの上下の余白 */
background-color: #25c04a !important;/* 背景の色 */
border-radius: 5px !important;/* 角を丸く*/
color: #fff !important;/* 文字の色*/
width: 100%;/* ボタンの横幅*/
transition:0.5s;/* 背景色が変わるまでの時間*/
box-shadow: 2px 2px 2px 2px rgba(0,0,0,0.10);/* 薄っすらとボタンにドロップシャドウをかける*/
}
input.wpcf7-submit:hover {
background-color:#55ffaa !important;/* マウスを乗せたときの背景色 */
color: #fff !important;/* マウスを乗せたときの文字の色 */
}
.btn-submit {
width: 100%;
text-align: center;
}
/*送信ボタンの下のスペース調整 */
.submit p{
height:7em;
}
/* ==送信ボタンのカスタマイズ 終わり== */
/*横並び表示 カレンダー,男女など*/
.para{
display: flex;
margin-bottom:10px;
width:100%;
justify-content: space-between; /*両端に分ける*/
}
/*paraで分けた要素を均等に分割*/
.komoji4{
margin-top:;
width:100%!important;
}
/*横並び表示おわり*/
/*カレンダーの日付選択欄のどこを押しても反応するようにする*/
input[type=date]::-webkit-calendar-picker-indicator {
position: absolute;
width: 100%;
height: 100%;
/*省略*/
opacity: 0;
}
/*=============================
コンタクトフォームの装飾おわり
==============================*/
※上記のコードは民宿しまだの予約フォームコードのみに適用されます。フォームを自作された場合は、ご自身で設定ください。)
これで、予約フォームの外見部分が完成しました。
スマホでも見え方をチェックしてみましょう。PCのスマホでそれぞれ見やすく表示されてればOKです!
次の記事では、予約フォームに自動メール送信機能を設置します。