RING RING

MW WP Formで郵便番号から住所を自動入力させる

取引先様向けコンテンツ

お問合せフォーム(個人的には)必須プラグインの「MW WP Form/WordPress」。よくあるフォームみたいに郵便番号から住所の自動入力をしたい!ということでその方法をまとめました。

デモ

今回のデモです。
デモ
住所欄をタイプ別に複数作りました。住所が複数ある場合の解説がなく、苦労したので…。
確認画面は作っていないので、住所入力の挙動だけみてください。

使用するもの

YubinBangoです。
プラグインであるzipaddr-jpを使う方法もあるのですが、無料版だと色々制限があり、クライアント案件には不向きだなと思いました。あと実装できなくてハマりまくりました…。フォーム内に二つあったのがよくなかったんだろうか…

MW WP Formの管理画面ですること

該当箇所(この場合郵便番号と住所)を囲みます。

<h2 class="form-ttl">住所1行タイプ</h2>
<dl class="clearfix">
 	<dt>発送先住所</dt>
 	<dd>
		<div class="h-adr">
		<span class="p-country-name" style="display:none;">Japan</span>
		<dl class="form-lower">
		 	<dt>郵便番号<span class="requred-icon">必須</span></dt>
		 	<dd>[mwform_text name="zip" class="p-postal-code" placeholder="1234567"]</dd>
		 	<dt>住所<span class="requred-icon">必須</span></dt>
		 	<dd>[mwform_text name="address" class="is-big p-region p-locality p-street-address p-extended-address"]</dd>
		 </dl>
		 </div>
	</dd>
</dl>

<h2 class="form-ttl">住所複数行タイプ</h2>
<dl class="clearfix">
 	<dt>発送元住所</dt>
 	<dd>
		<div class="h-adr">
		<span class="p-country-name" style="display:none;">Japan</span>
		<dl class="form-lower">
		 	<dt>郵便番号<span class="requred-icon">必須</span></dt>
		 	<dd>[mwform_text name="zip" class="p-postal-code" placeholder="1234567"]</dd>
		 	<dt>都道府県<span class="requred-icon">必須</span></dt>
		 	<dd>[mwform_text name="address" class="is-small p-region"]</dd>
		 	<dt>市町村区<span class="requred-icon">必須</span></dt>
		 	<dd>[mwform_text name="address" class="is-big p-locality"]</dd>
		 	<dt>地名・番地<span class="requred-icon">必須</span></dt>
		 	<dd>[mwform_text name="address" class=" p-street-address is-big"]</dd>
		 	<dt>建物名</dt>
		 	<dd>[mwform_text name="address" class="is-big"]</dd>
		 </dl>
		 </div>
	</dd>
</dl>

郵便番号と住所に振られているp-から始まるクラスはYubinBango参照

footer.phpでyubinbangoを呼び出す

function.phpで呼び出しする解説が多いのですが、普通にfooter.phpで呼び出すだけで大丈夫でした。

<?php if(is_page('固定ページのスラッグ')){ ?>
<script src="//yubinbango.github.io/yubinbango/yubinbango.js" charset="UTF-8"></script>
<?php } ?>

functionじゃないといけない理由がある気がするんですが(よくわかっていない)…私は条件分岐でフォームを設置している固定ページだけ呼び出すようにしています。
以上で終了です。

まとめ

1.郵便番号と住所をタグで囲む
2.yubinbangoを呼び出す

個人的には住所は1行、多くても2行(番地まで&建物名)が好きです。データを分けて保存する必要ってそこまでないだろうし、スマホだと行数が増えるだけでげんなりするので…

ファイルをダウンロードする。
ALL POST