zipaddr-jp プラグインで郵便番号から住所の自動入力【WordPress】

簡単に住所自動入力ができるWordPressのプラグイン、zipaddr-jpの使い方メモです。

zipaddr-jp の使い方

zipaddr-jp は簡単に郵便番号から住所の自動入力ができます。

  • プラグインをインストール
  • フォームを作成→フォームの郵便番号と住所のところに指定のidを入れる

インストール&有効化

まずはプラグイン追加画面から「zipaddr」を検索しインストール。インストールしたら有効化。

プラグイン追加画面

zipaddr-jp | WordPress プラグイン – WordPress.org 日本語

環境設定

有効化すると「Zipaddr-JP」というメニューが表示されます。クリックすると以下のような表示画面になります。

ここで zipaddr-jp の設定ができます。デフォルトのままでも特に問題はなく、設定をいじらずとも大丈夫ですが、いくつか表示に関する設定についてご紹介します。

zipaddr-jp では入力時にハイフンなしの場合でも住所が自動入力された際にハイフンが自動的につくようになっています。自動入力後も郵便番号のハイフンを付けないようにしたい場合は、「郵便番号の区切り文字」のところにある「-」を削除します。

デフォルトの状態では、プレイスフォルダーで「住所自動入力」のテキストが表示されるようになっています。

この表記を削除したい場合は「placeholder上書」のところにスペースを入力するとテキストが表示されないようになります。(実際にはスペースが表示されるのですが、見た目としては何も書かれていない状態)変更したい場合はそのテキストを入力します。

MW WP Form で自動入力ありのフォーム作成

自動入力を動作させるには、MW WP Form でフォームタグを生成する際に決められた id を指定する必要があります。

郵便番号都道府県市区町村地域地域以降
zip (zip1)prefcityareaaddr
zip2 (zip21)pref2city2area2addr2
zip3 (zip31)pref3city3area3addr3
zip4 (zip41)pref4city4area4addr4
zip5 (zip51)pref5city5area5addr5
zip6 (zip61)pref6city6area6addr6
参照:https://zipaddr2.com/wordpress/

住所の入力が一つだけなら数字のない、zipやaddrといった形でOK。複数の住所入力欄をつく際は数字を合わせて付けていきます。以下は MW WP Form での書き方の例です。

【郵便番号と住所入力欄が一つずつ】

[mwform_text name="zip" id="zip"]
[mwform_text name="addr" id="addr"]

【郵便番号入力を2つに分ける】

[mwform_text name="zip" id="zip"]
[mwform_text name="zip" id="zip1"]

【住所入力を分ける】

[mwform_text name="address" id="pref"]
[mwform_text name="address" id="city"]
[mwform_text name="address" id="area"]
[mwform_text name="address" id="addr"]

【複数の住所入力を作る】

住所1
[mwform_text name="zip" id="zip"]
[mwform_text name="addr" id="addr"]
住所2
[mwform_text name="zip2" id="zip2"]
[mwform_text name="addr2" id="addr2"]

MW WP Form で zipaddr-jpが動かない

MW WP Form を使って zipaddr-jp で自動入力がうまく動かなかったことがあったので、その時の対応です。

mwform_zip を使っても自動入力されない

MW WP Form にある「Zip Code」という郵便番号用のフォームタグがありますが、こちらを使用すると自動入力は動作しませんでした。

このような出力のコードです。

[mwform_zip name="mwform_zip-〇〇"]

zipaddr-jp で自動入力を行いたい場合は フォームタグの「Text」を選択しましょう。

テンプレートファイルで do_shortcode を使用している場合

MW WP Form では、テンプレートファイル(page.phpなど)に do_shortcode() を使用してフォームを出力させることもできます。
私はこの方法で出力させることが多く、zipaddr-jp を使ったフォームの時にもこの方法で出力させていましたが、住所の自動入力が動作しませんでした。

コードのidやnameが間違っていないか、記述箇所が違うのか…何度も確認したり見直したけど、間違いはない。

悩みまくった末、do_shortcode() を使わずWordPressのページ編集のところにショートコードを入力して the_content() で出力させる、という方法を取りました。

動かなかったコードがこちら。(テンプレートファイルに以下のコードを記述)

<?php echo do_shortcode('[mwform_formkey key="000"]') ?>

修正方法がこちら。(固定ページの編集画面に行ってコードを入力)

固定ページ編集画面でMWのショートコードを追加

テンプレートファイルへの記述を以下のようにする。

<?php the_content(); ?>

これで全く動いてくれなかった自動入力がすんなり動きました!

公式サイトの説明をちゃんと読むと、「do_shortcode() を使った場合は特別な処理が必要」ということが書かれていました。
zipaddr-jpの公式サイトの説明はこちら

ただちゃんと理解できず、この説明内容のことを行なってもうまくいかなかったんですよね…(理解できる人は問題ないかも)なので、私は結果として do_shortcode() を使わずに実装する方法を取りました。

住所の自動入力ライブラリは他にもいくつかあります。どうしてもうまくいかず、解決に時間がかかってしまう場合は、他の方法で試してみた方が早い時もあります。

問い合わせ数が多い場合は有償版を使用

この zipaddr-jpプラグインは無料でも利用できますが、利用が「1,000件/月 を越える、アクセスが集中する」といった場合は、「有償版」に切り替える必要があります。
設定画面から切り替えが可能ですが、まずは有償版の利用申請が必要になります。

もし利用数が多い場合は、有償版の利用申請をするか他の方法にするか検討してください。

【関連記事】

MW WP Form の使い方 – WordPressのフォームプラグイン

カテゴリー : WordPress

TOPへ