郵便番号から自動で住所を入力する方法をさがしました。
以前は、ajaxzip3のJSライブラリを利用することが一般的でしたが、現在はajaxzip3の後継であるYubinbangoを利用することが推奨されています。
Contribute to yubinbango/yubinbango development by creating an account on GitHub.
yubinbango.jsの読み込み
ライブラリのjsを読み込む必要があります。いろいろな方法がありますが、header.phpのなかに記述します。
現在の適用しているテーマはSimplicity2の子テーマなので、 header-insert.phpに記述しました。
「外観」ー「テーマの編集」ー「header-insert.php」を開いてスクリプトタグを記述しました。
<script src="https://yubinbango.github.io/yubinbango/yubinbango.js" charset="UTF-8"></script>
新しいコンタクトフォームを作成
1行目に以下のコードを挿入します。
<span class="p-country-name" style="display:none;">Japan</span>
classを指定して、input要素を追加します。
<p>郵便番号<br />
[text postal-code class:p-postal-code] </p>
<p>都道府県<br />
[text address1 class:p-region] </p>
<p>市区町村<br />
[text address2 class:p-locality] </p>
<p>番地以下<br />
[text address3 class:p-street-address class:p-extended-address] </p>
都道府県と市町村名と番地以下をそれぞれ、わけましたが一つにまとめることも可能です。
formのclassを指定してショートコードの貼り付け
ショートコードをそのまま貼り付けるのではなく、form タグの class を指定して貼り付けます。
contact-form-7 id="871" title="yubinbango" html_class="h-adr"
貼り付けました
都道府県と市区町村を一つにしました
都道府県と市区町村を一つにまとめて貼り付けてみました。
<span class="p-country-name" style="display:none;">Japan</span>
<p>お名前 (必須)<br />
[text* your-name] </p>
<p>メールアドレス (必須)<br />
[email* your-email] </p>
<p>題名<br />
[text your-subject] </p>
<p>郵便番号 (必須)【7桁】<br />
[text* postal-code class:p-postal-code] </p>
<p>住所1 (必須)【郵便番号を入力すると該当の住所が自動入力されます】<br />
[text* address1 class:p-region class:p-locality] </p>
<p>住所2 (必須)【以降の住所を入力してください】<br />
[text* address3 class:p-street-address class:p-extended-address] </p>
<p>メッセージ本文<br />
[textarea your-message] </p>
<p>[submit "送信"]</p>
あとは、個人情報の取り扱いの文章を挿入して完成です。


