Contact Form 7でajaxzip3を使う為のメモ(コピペ用)



WordPressで問い合わせフォームを作るときは
Contact Form 7
http://contactform7.com/ja/docs/
です。だいたい

Contact Form 7で郵便番号から住所を自動入力するために使うのは

ajaxzip3
https://github.com/ajaxzip3/ajaxzip3.github.io
です。だいたい
同じような機能のプラグインもあります。
zipaddr-jp
https://wordpress.org/plugins/zipaddr-jp/

どちらでもよいと思いますが、個人的な好みでajaxzip3を使っています。簡単に設定できるようにコピペ用としてメモします。

Contact Form 7で住所自動入力できるajaxzip3を使う方法

郵便番号(ワンボックス)+住所の場合(&bootstrap3)

郵便番号の入力が1つのテキストボックスで住所の入力も1つのテキストボックスの場合(Bootstrap3を使ってくくります)

設置イメージcontact-form-7%e3%81%a8ajaxzip3%e3%82%b5%e3%83%b3%e3%83%95%e3%82%9a%e3%83%ab

Contact Form 7での設定

<div class="form-group">
<label class="col-xs-3">ご住所<span class="require">※</span></label>
<div class="col-xs-9">
	<div class="form-group">
		<div class="col-xs-1"><div style="text-align:right">〒</div></div><div class="col-xs-5">[text zip id:zip 10/ class:form-control]</div>
		</div>
	<div class="form-group">
		<div class="col-xs-12">[text addr id:addr class:form-control]</div>
		</div>
	<div class="form-group">
		<div class="col-xs-12">[text bldg id:bldg class:form-control]</div>
		</div>
</div>
</div>

WordPressでの設定(スクリプトの読み込み)

functions.phpにajaxzip3のスクリプトの読み込みを追加する設定

まずajaxzip3を実行する関数用のファイルを作成(useajaxzip3,js)という名前にしました。

ファイルの中身は

jQuery(function($){
  $('#zip').keyup(function(event){
    AjaxZip3.zip2addr(this,'','addr','addr');
  });
});

wordpressのテーマディレクトリにあるjavascript用のディレクトリに保存。

functions.phpを以下のように編集

if(is_page('固定ページのIDやスラッグ')){
		wp_enqueue_script('ajaxzip3','https://ajaxzip3.github.io/ajaxzip3.js',array(),'',true);
		wp_enqueue_script('useajaxzip3',get_template_directory_uri().'/js/useajaxzip3.js',array(),'',true);
	}

郵便番号(ワンボックス)+都道府県+住所の場合(&Foundation6)

郵便番号テキストボックスと都道府県+住所の組み合わせの場合
こちらはFoundation を使ってマークアップした場合
http://foundation.zurb.com/

設置イメージ
contact-form-7%e3%81%a8ajaxzip3%e3%82%b5%e3%83%b3%e3%83%95%e3%82%9a%e3%83%ab2

Contact Form 7の設定

<div class="row">
    <div class="small-12 columns">
      <label>ご住所<span class="require">(必須)</span></label>
    </div>
    <div class="small-12 columns">
      <div class="row">
        <div class="small-1 columns"><div class="text-right middle">〒</div>
        </div>
        <div class="small-4 columns end">[text* zip id:zip 10/]</div>
        </div>
<div class="row">
<div class="small-4 columns">
[select pref id:pref "都道府県" "北海道" "青森県" "岩手県" "宮城県" "秋田県" "山形県" "福島県" "茨城県" "栃木県" "群馬県" "埼玉県" "千葉県" "東京都" "神奈川県" "新潟県" "富山県" "石川県" "福井県" "山梨県" "長野県" "岐阜県" "静岡県" "愛知県" "三重県" "滋賀県" "京都府" "大阪府" "兵庫県" "奈良県" "和歌山県" "鳥取県" "島根県" "岡山県" "広島県" "山口県" "徳島県" "香川県" "愛媛県" "高知県" "福岡県" "佐賀県" "長崎県" "熊本県" "大分県" "宮崎県" "鹿児島県" "沖縄県"]
</div>
<div class="small-8 columns">[text* addr id:addr]</div>
</div>
<div class="row"><div class="small-12 columns">
<label for="bldg">ビル名
[text addr1 id:addr1]</label>
</div>
</div>

WordPress側の設定

これは前述と同様ですが、useajaxzip3.jsの中身は以下のようにします。

jQuery(function($){
  $('#zip').keyup(function(event){
    AjaxZip3.zip2addr(this,'','pref','addr');
  })
})

シェアする

  • このエントリーをはてなブックマークに追加

フォローする