=== WKSS Japan Address Helper ===
Contributors: wkss
Tags: woocommerce, japan, address, postcode, zipcode
Requires at least: 6.0
Tested up to: 7.1
Requires PHP: 7.4
Stable tag: 1.1.22
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

日本のWooCommerceストアで、郵便番号からの住所入力を補助します。

== Description ==

WKSS Japan Address Helperは、日本のWooCommerceストア向けに、郵便番号から住所入力を補助するプラグインです。

通常のお客様による住所検索では、AjaxZip3や外部の住所検索APIを使用しません。WordPress内に保存されたローカル郵便番号データベースを検索します。

日本郵便へ接続するのは、管理者が設定画面から郵便番号データベースの更新を手動実行した場合だけです。

= 主な機能 =

* WooCommerceの購入手続き、カート、マイアカウントの住所フォームに対応します。
* WooCommerce Blocksの購入手続き・カート住所フィールド更新に対応します。
* 郵便番号から都道府県・市区町村・町域の入力を補助します。
* 通常の住所検索にはローカル郵便番号データベースを使用します。
* 購入手続きや住所入力時に、お客様の住所検索情報を日本郵便や外部サービスへ送信しません。
* 管理者が郵便番号データベース更新を手動実行した場合だけ、日本郵便の公式郵便番号CSVを取得します。
* 基本設定、住所不備チェック、郵便番号データ、仕様メモをタブ形式の設定画面で管理できます。
* 郵便番号との整合性や番地情報に問題がある可能性を検出し、警告または購入停止を行えます。
* ローカル郵便番号データベースを使って、郵便番号と都道府県・市区町村の一致を確認します。
* クラシック購入手続きとCheckout Block／Store API注文の両方でサーバー側検証を行います。
* 住所不備チェックの対象を請求先、配送先、または両方から選択できます。
* 警告メッセージと停止メッセージを設定画面から編集できます。
* プラグイン一覧に設定リンクを追加します。
* 設定画面にプラグインのバージョンを表示します。

== External Services ==

このプラグインは、管理者が設定画面で郵便番号データベースの更新ボタンを押した場合だけ、日本郵便から郵便番号CSVを取得できます。

= 外部サービスの利用目的 =

* 日本郵便の公式郵便番号CSVデータを取得するため。

= 送信される情報とタイミング =

* 管理者が郵便番号データベース更新を手動実行した場合だけ、サーバーから日本郵便へZIPファイルの取得リクエストを送信します。
* 住所検索時に、お客様の住所、購入手続き情報、個人情報を日本郵便へ送信しません。
* お客様の購入手続きや住所入力時には、日本郵便や外部サービスへ接続しません。

= サービス提供元 =

* 日本郵便
* サービス情報: https://www.post.japanpost.jp/service/search/zipcode/download/utf-zip.html
* 利用条件: https://www.post.japanpost.jp/
* プライバシーポリシー: https://www.post.japanpost.jp/privacy.html

お客様の住所検索には、WordPress内に保存されたローカル郵便番号データベースを使用します。

== Requirements ==

* WordPress 6.0以上
* PHP 7.4以上
* WooCommerce

== Installation ==

1. WordPressのプラグイン画面からインストールするか、プラグインZIPをアップロードします。
2. WordPressのプラグイン画面で有効化します。
3. WooCommerceが有効であることを確認します。
4. WKSS Japan Address Helperの設定画面を開きます。
5. 必要に応じて郵便番号データベースを更新します。
6. 住所情報が不完全な可能性を警告または購入停止したい場合は、住所不備チェックを設定します。

== Frequently Asked Questions ==

= お客様の住所情報を外部サービスへ送信しますか？ =

いいえ。お客様の住所検索には、WordPress内のローカル郵便番号データベースを使用します。

= AjaxZip3を使用しますか？ =

いいえ。通常のお客様による住所検索ではAjaxZip3を使用しません。

= 日本郵便へ接続するのはいつですか？ =

管理者が設定画面から郵便番号データベースの更新を手動実行した場合だけです。

= WooCommerce Blocksに対応していますか？ =

はい。WooCommerce Blocksの購入手続き・カート住所フィールド更新に対応しています。

= WooCommerceは必須ですか？ =

はい。このプラグインはWooCommerceの住所フィールド向けに設計されています。

= 住所不備チェックで購入を止められますか？ =

はい。住所不備チェックは、無効、警告モード、停止モードから選択できます。対象は請求先、配送先、または両方から選択できます。停止モードでは、郵便番号と都道府県または市区町村の不一致を注文確定前にサーバー側で拒否します。

== Changelog ==

= 1.1.22 =

* カートブロックと購入手続きブロックで、市区町村の住所補完結果が確実に反映されるよう、DOMイベントより先にWooCommerce公式のカートデータストアを同期するよう改善しました。
* Reactで管理される住所入力欄がWJAHの変更を認識できるよう、input／select要素の標準値設定処理を使用しました。クラシック購入手続きの動作には影響しません。
* 利用者が入力した番地・建物名を維持し、住所解析コア、クラシック／Blocksのサーバー側検証、設定、データベース構造は変更していません。

= 1.1.21 =

* Checkout Blocksの検証例外メッセージを、例外オブジェクトへ渡す前にエスケープしました。
* プラグイン所有の郵便番号テーブルに限定した直接DBクエリの例外理由を明記し、Plugin Checkが意図したローカルデータ操作を判別できるようにしました。
* 管理画面、設定、データベース構造、住所検索、クラシック／Blocks検証、利用者が入力した住所の保護動作は変更していません。

= 1.1.20 =

* WJAH管理画面をWKSS／WEM共通レイアウトと情報構造に合わせて最終調整しました。
* 公式WJAHアイコン、意味を持つステータスカード、アクセシブルなタブ、レスポンシブな余白、高影響な郵便番号データ削除領域を採用しました。
* 既存タブを維持し、プラグイン依存を追加しない情報表示専用のWKSS連携タブを追加しました。
* バックアップ、復元、リセット、郵便番号データ取り込み進捗などの処理機能は追加していません。
* 設定、オプションキー、DB構造、フック、取り込み、検証、住所処理はv1.1.14の機能基準から変更していません。

= 1.1.18 =

* WEM固有の緑色アクセントを、WJAH固有の落ち着いた郵便ポスト赤へ変更しました。
* WEM共通レイアウト構造、公式WJAHアイコン、既存設定・機能ロジックは維持しました。

= 1.1.17 =

* 管理画面を現行WEMレイアウトへ統一し、識別領域、2×2ステータスカード、共通ヘッダー、メニュー案内、タブ、余白を調整しました。
* ヘッダーカードと重複していたタブ下の状態表示を削除しました。
* 公式WJAHアイコン、既存設定、フック、DB構造、検証、取り込み、住所処理は変更していません。

= 1.1.16 =

* 仮の文字バッジを、承認済みWKSSアイコンパッケージの公式WJAHアイコンへ変更しました。
* 既存設定、フック、DB構造、検証、取り込み、住所処理は変更していません。

= 1.1.15 =

* 管理画面を現行WKSS／WEMの表示・情報構造へ統一しました。
* WKSSスイートアイコン、状態ラベル、要約表示、アクセシブルな現在タブ表示を追加しました。
* 処理内容を変更せず、郵便番号データ削除を高影響操作として視覚的に分離しました。
* 情報表示専用のWKSS連携タブを追加しました。プラグイン依存や連携ロジックは追加していません。
* 既存の設定フォームへ保存中表示を追加しました。
* 既存設定、オプションキー、DB構造、フック、検証、取り込み、住所処理は変更していません。

= 1.1.14 =

* WooCommerce Blocksの再描画後も安全な置換状態を保つため、WJAHが補完した町域を請求先・配送先ごとにページ内で追跡するようにしました。
* 現在値がWJAH管理値と完全一致する場合だけ、以前の自動補完町域を置換します。利用者が入力した番地などは変更しません。
* 現在の住所1が以前の郵便番号から得た町域だけの場合、安全に管理状態を復元します。
* 郵便番号変更後に古い検索応答が返った場合、その応答を無視するようにしました。

= 1.1.13 =

* 郵便番号変更時に、以前WJAHが補完した町域を新しい郵便番号の町域へ安全に置換するようにしました。
* 空欄のみ補完モードでは、利用者が入力した番地などの詳細住所を維持します。
* WooCommerce Checkout Blocksの顧客データにも同じ安全な町域置換規則を適用しました。

= 1.1.12 =

* 古い値が残っている場合でも、都道府県と市区町村を郵便番号に合わせて補正するよう改善しました。
* Checkout Blocks向けに日本の都道府県コード（JP01～JP47）の同期を追加しました。
* 空欄のみ補完モードで詳細住所を消さないよう、町域・番地に対する上書き設定を維持しました。
* 同じ郵便番号を再処理する場合も、都道府県・市区町村を確実に再適用します。

= 1.1.11 =

* 住所解析をアダプター非依存コアとWooCommerceアダプターへ分離しました。
* ローカル郵便番号DBを使った都道府県・市区町村の整合性確認を追加しました。
* 停止モードがJavaScriptの住所補完へ依存しないよう、Checkout Block／Store APIのサーバー側検証を追加しました。
* WooCommerce住所欄へ対象を限定した不一致警告を追加しました。
* 既存設定と住所不足チェックは維持しました。

= 1.1.10 =

* WKSS共通UIの説明表示切り替え位置を修正しました。
* 住所補完と住所不備チェックの有効・無効を明確なスイッチ表示にしました。
* 初心者向けの詳細説明と簡易表示時の上部表示を改善しました。

= 1.1.9 =

* 管理画面をWKSS共通UIスタイルへ更新しました。
* 詳細／簡易説明表示の切り替えを設定画面へ追加しました。
* 他のWKSSプラグインと揃うよう、設定要約カードとタブ配置を調整しました。

= 1.1.8 =

* WordPress.org Plugin Checkへ対応するためreadmeを英語要件に合わせました。
* WordPress.org向けの短い説明を更新しました。
* v1.1.6とv1.1.7の機能を維持し、WordPress.org公開版として整理しました。

= 1.1.7 =

* v1.1.6の内部テスト後、WordPress.org公開情報を更新しました。
* テスト済みWordPressバージョンを更新しました。
* WordPress.org向けの短い説明を整理しました。

= 1.1.6 =

* タブ形式の設定画面を追加しました。
* 住所不備チェック設定を追加しました。
* 不完全な住所を検出する警告モードと停止モードを追加しました。
* チェック対象として請求先、配送先、両方を選べるようにしました。
* 警告メッセージと停止メッセージを編集できるようにしました。
* 郵便番号データベース操作と仕様メモを専用タブへ整理しました。

= 1.1.4 =

* WordPress.orgのプラグインカード用短文とメイン説明を更新しました。
* WordPress.orgプラグインディレクトリ用アイコンを準備しました。

= 1.1.3 =

* ファイルシステム、CSVアップロード、prepared SQLに関するPlugin Checkエラーを低減しました。
* CSV取り込み時の明示的な実行時間制限変更を削除しました。

= 1.1.2 =

* 管理フォーム処理前のnonce検証を明示しました。
* フォーム処理とprepared SQLに関するPlugin Check警告を低減しました。

= 1.1.1 =

* ダウンロードした郵便番号データのSHA-256比較を追加し、変更がないZIPの展開・取り込みを省略できるようにしました。

= 1.1.0 =

* メモリ使用量を抑えるため、郵便番号CSVを1行ずつ処理する方式へ変更しました。
* 同じ郵便番号データが保存済みの場合、不要な再取り込みを省略するようにしました。
* 保守用の強制再取り込みボタンを追加しました。

= 1.0.9 =

* 郵便番号DB情報の設定画面表示を改善しました。
* 冒頭説明を読みやすい行に分けました。
* 狭い画面でソースURLのラベルが折り返さないよう改善しました。
* メタデータ、Stable tag、PHP構文を再確認しました。

= 1.0.8 =

* 日本郵便の現在のUTF-8 ZIPダウンロードページへ対応しました。
* 相対形式のZIP URL解決を改善しました。
* 郵便番号DB更新時のエラー表示を改善しました。

= 1.0.7 =

* 日本郵便のダウンロードページ処理を更新しました。
* ダウンロードページで見つかったCSVまたはZIPリンクに対応しました。

= 1.0.6 =

* 予備URLを試す前に、日本郵便のダウンロードページから取得先を探すようにしました。
* リダイレクトとレスポンスヘッダーの処理を改善しました。

= 1.0.5 =

* 日本郵便CSV ZIPのダウンロード処理を改善しました。
* 予備ダウンロードURLとZIP検証を追加しました。
* 旧KEN_ALL.CSV向けにShift_JIS／CP932変換を追加しました。

= 1.0.4 =

* プラグイン名をWKSS Japan Address Helperへ変更しました。
* スラッグとテキストドメインをwkss-japan-address-helperへ変更しました。
* 手動郵便番号DB更新で利用する日本郵便の外部サービスを明記しました。
* プラグインURLをCustomBoxへ更新しました。
* ローカルDB検索と日本郵便データ更新に関する設定画面の説明を改善しました。

= 1.0.3 =

* WordPress.org申請でAuthor URIと一致しないようPlugin URIを削除しました。

= 1.0.2 =

* Plugin Checkへの対応を改善しました。
* 可能な範囲で直接ファイル操作をWordPressファイルシステムAPIへ置き換えました。
* 安全でないSQL補間を避けるよう郵便番号DBへの登録処理を変更しました。
* readmeを標準形式の英語へ書き直しました。

= 1.0.1 =

* WordPress.org Plugin Checkへの対応を改善しました。
* ファイル処理、DB登録、CSVアップロード、readme表現を安全化しました。

= 1.0.0 =

* 最初の公開候補としてバージョンを更新しました。
* プラグインヘッダー、readme、作者、ライセンス、WordPress／PHP要件、Stable tagを統一しました。

= 0.3.0 =

* AjaxZip3依存を削除しました。
* ローカル郵便番号データベースを使う検索処理へ再構築しました。
* CSVダウンロード、手動CSV取り込み、郵便番号データ削除を追加しました。
* クラシックWooCommerceフィールドとWooCommerce Blocksフィールドへの対応を改善しました。
