WooCommerce Enhanced Regions(地域データ拡張プラグイン)
概要
WooCommerce Enhanced Regions は、WooCommerce の住所フォームや配送設定で扱われない国に対して、州・県・地域データを補完する WordPress プラグインです。プラグインは、選択された国の州リストが空かどうかをチェックし、空であれば内部の regions データから対応する地域一覧を動的に注入します。データと翻訳は分離して管理されており、軽量で導入しやすく、既存の WooCommerce 設定を壊さずに地域データを強化できます。
リポジトリの統計情報
- スター数: 24
- フォーク数: 1
- ウォッチャー数: 24
- コミット数: 7
- ファイル数: 5
- メインの言語: PHP
主な特徴
- WooCommerce がデフォルトで持たない国別の州・地域データを補完
- 対象国の州リストが「空」の場合のみ注入して既存データを上書きしない
- 翻訳ファイル(languages)を同梱し国際化に対応
- データは regions ディレクトリで分離管理、拡張が容易
技術的なポイント
本プラグインは WooCommerce の住所データ提供の仕組みにフックする形で実装されています。一般的な実装としては、woocommerce_states(あるいは同等のフィルタ)を利用し、呼び出し時に対象国の州リストが空かチェックします。空であれば regions ディレクトリに格納されたキュレート済みデータ(配列または JSON 形式)を読み込み、WooCommerce に返すことでフォームや配送ロジックに地域情報を反映させます。データはプラグインのロード時に常時読み込むのではなく、必要時に条件付きで require もしくは json_decode して遅延ロードする実装が想定されており、パフォーマンス負荷を抑えています。
ソースは src ディレクトリにロジックをまとめ、メインのプラグインファイル(woocommerce-enhanced-regions.php)はプラグイン初期化、フィルタの登録、テキストドメインのロード(load_plugin_textdomain)を担当します。languages フォルダには .pot/.po/.mo ファイルが置ける設計で、多言語対応が可能です。regions データは国コードをキーに州リストを用意する構造で、将来的なメンテナンスやコミュニティによるデータ追加がしやすいようにファイル単位で分割されています。
互換性面では WordPress 5.8 以上、WooCommerce(README では 6.9 までテスト済み)、PHP 7.4 以上が前提。GPLv2 以降のライセンスで配布されるため、既存の WordPress 環境へ組み込みやすく、カスタムテーマや他の拡張と併用して利用できます。セキュリティ的には外部通信を行わず内部データを参照する作りなので攻撃面は限定的ですが、追加データを取り込む際はバリデーションを十分に行うべきです。
プロジェクトの構成
主要なファイルとディレクトリ:
- README.md: file
- languages: dir
- regions: dir
- src: dir
- woocommerce-enhanced-regions.php: file
まとめ
既存 WooCommerce を崩さずに地域データを補完する、導入しやすい実用的なプラグインです。
リポジトリ情報:
- 名前: woocommerce-enhanced-regions
- 説明: This plugin enhances WooCommerce by adding missing states, provinces, and regions for countries that default WooCommerce installations do not support.
- スター数: 24
- 言語: PHP
- URL: https://github.com/ssthormess/woocommerce-enhanced-regions
- オーナー: ssthormess
- アバター: https://avatars.githubusercontent.com/u/3892608?v=4
READMEの抜粋:
WooCommerce Enhanced Regions
Requires at least: 5.8 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 1.0.0 License: GPLv2 or later
Description
This plugin enhances WooCommerce by adding missing states, provinces, and regions for countries that default WooCommerce installations do not support.
It works by checking if a selected country has an empty state list in WooCommerce. If so, it injects a curated list of regions from its own data repository.
Key Features:
- …