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

2022年5月18日

今回はMW WP Formで作成したフォームの郵便番号を入力した時に住所を自動入力させる方法です。

ご紹介する方法ではYubinbangoライブラリを使用し実装していきます。手順とサンプルコードを掲載しますので、初心者の方でもよく読んで頑張って頂ければ可能だと思います。

では、さっそくやってみましょう。

今回は、MW WP Formをインストールし、フォームが作成されている状態から解説していきます。まだの方は作成を済ませておいてください。

Yubinbangoライブラリの読込

Yubinbangoライブラリを使用すると書きましたが、難しいことはありません。

以下のコードを使用中のテーマフォルダにあるfunctions.phpというファイルの最後に追記しましょう。

※すっごく古いバージョンのワードプレスを更新せずに使用している場合、上記のコードで読み込めないかもしれませんが、ほぼほぼ無いと思いますので今回は割愛させて頂きます。前にYubinbangoライブラリの読込について、コンタクトフォーム7版の記事の中に記載したことがありますので、万一読み込めない場合は下の記事を参考にしてみてください。

こちら⇒ コンタクトフォーム7で郵便番号から住所を自動入力させる方法

フォームにclassを付ける

無事にライブラリを読み込めたら、次はMW WP Formで作成したフォームに「h-adr」とclassを付けます。

MW WP Formは、ショートコードのパラメータなどでclass付けできないようですので、jsでclassを付けていきます。

上のコードを使用中のテーマのfunctions.phpに追記すると、MW WP Formで出力されるformタグに「h-adr」というclassが付くはずです。

ブラウザの開発者ツールなどで確認してみましょう。

上記のコードを使用しなくても、読み込んでいるjsファイルに書きたければ、そちらに直接書いてももちろんOKです。

国名を指定する

次は国名の指定です。日本の郵便番号を使用する場合は、以下のようなHTMLをフォーム内に記述します。

MW WP Formのフォーム作成画面のエディターの中にペーストして保存すればOKです。場所はどこでも大丈夫です。

郵便番号の入力欄を作成する

ここまでで準備は整っているはずです。いよいよ、郵便番号の入力欄を作成します。郵便番号の入力欄にもclassを付けてやります。こちらは「p-postal-code」というclassです。

こちらもMW WP Formのフォーム作成画面で作業していきます。

MW WP Formの「郵便番号」を使用すると、自動的に2つに分かれた入力欄となります。これが嫌な場合は「テキスト」で作成しても問題ありません。どちらの場合もclassを付ける方法は同じです。

フォームタグを追加する際に、下の画像のようなウィンドウが出ますが、この「class」の欄に「p-postal-code」と入力して作成しましょう。

出来上がったショートコードが下のようになっていればOKです。

すでに作成済みの入力欄にclassを付ける場合も、上のようになるように書き加えれば大丈夫です。classは複数付けられますので、他のclassと併記する場合は半角スペースで区切って書き加えましょう。

住所の入力欄を作成する

最後に住所が自動入力される部分を作成しましょう。一般的なテキスト入力欄で良い場合と、都道府県だけセレクトボックスにしたい場合で少々やり方が違いますので、分けて書いていきます。

テキスト入力の場合

「テキスト」もしくは「テキストエリア」で作成するのが一般的でしょう。住所をいくつかに分割して自動出力できます。下の表のように4つのclassがありますので、対応させるフォームパーツにclassを付けましょう。

表示される住所 付与するclass
都道府県 p-region
市区町村 p-locality
町域 p-street-address
詳細住所
(郵便番号から特定できる場合のみ出力される)
p-extended-address

入力欄が1つで良い場合

住所の入力欄が1つの場合は、下のようにすべてのclassを付けてしまえばOKです。(idとnameは任意のもの)

入力欄を分割する場合

上のコードは都道府県とその他を分割した場合です。もっと分割する事もできますので、お好きな形で作成しましょう。

住所入力欄をテキスト入力で作成する場合はこれで完成です。すべて正しく出来ていれば、郵便番号を入力すると住所が自動入力されるようになっているはずです。

都道府県だけセレクトボックスにする場合

都道府県の入力だけセレクトボックスを使いたいという場合は、セレクトボックスを作成し「p-region-id」というclassを付けましょう。

表示される住所 付与するclass
都道府県のセレクトボックス p-region-id
市区町村 p-locality
町域 p-street-address
詳細住所
(郵便番号から特定できる場合のみ出力される)
p-extended-address

セレクトボックスを作成する際はちょっと都道府県の入力が面倒ですので、コピペで使える都道府県リストを掲載しておきます。都道府県IDに合わせてありますので、数字を間違えると正しく動作しません。

最後に

今回はMW WP Formに住所の自動入力機能を付けてみました。

無事に出来上がりましたでしょうか?自動入力なんて聞くと難しそうですが、割と手順はカンタンですよね。(ハマっている方がいましたらごめんなさい。。)

次回もMW WP Formのカスタマイズについて書いてみたいと思います。では!

関連のある記事

MW WP Formで動的にフォームのデフォルト値を設定する方法

MW WP Formで動的にフォームのデフォルト値を設定する方法

記事を読む

MW WP Formのセレクトボックス・チェックボックス・ラジオボタンを動的に設定する方法

記事を読む

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

目次へ