AfriRegions City & Neighborhood for WooCommerce

Description

Documentation: https://afriregions.com/docs/

AfriRegions City & Neighborhood for WooCommerce adds structured geographic address fields to WooCommerce checkout, cart, and My Account pages:

  • Cascading dropdowns: Region City Neighborhood (with Select2 search)
  • Zone-based shipping rates with cascading priority: Neighborhood > City > Region > Default
  • Cart shipping calculator with neighborhood field for accurate rate estimation
  • Multi-country support : data filtered by WooCommerce allowed countries
  • Address validation : verify region/city/neighborhood consistency at checkout
  • Delivery restrictions : block orders from specific regions or cities
  • Landmark field : optional “Landmark / Directions” for precise delivery instructions
  • Admin dashboard with setup guide and quick actions
  • Statistics : order breakdown by region and city with sortable leaderboard
  • Anti-duplicate shipping rules : visual indicators prevent assigning the same zone twice
  • REST API with rate limiting and pagination for mobile apps
  • HPOS compatible (Custom Orders Table)
  • Multilingual ready (English default, French included)

How it works

  1. Activate the plugin and add a supported African country to your WooCommerce settings
  2. Regions, cities, and neighborhoods are automatically available at checkout
  3. Configure zone-based shipping rates in WooCommerce Shipping settings
  4. Optionally add custom cities/neighborhoods via the Geo Data admin tab
  5. Optionally restrict delivery to specific zones

Supported countries

  • 🇩🇿 Algeria (DZ) — 48 wilayas
  • 🇧🇯 Benin (BJ) — 12 departments
  • 🇧🇫 Burkina Faso (BF) — 13 regions
  • 🇨🇲 Cameroon (CM) — 10 regions
  • 🇨🇮 Cote d’Ivoire (CI) — 14 districts
  • 🇨🇩 DR Congo (CD) — 26 provinces
  • 🇪🇬 Egypt (EG) — 27 governorates
  • 🇬🇦 Gabon (GA) — 9 provinces
  • 🇬🇭 Ghana (GH) — 16 regions
  • 🇰🇪 Kenya (KE) — 47 counties
  • 🇲🇬 Madagascar (MG) — 22 regions
  • 🇲🇺 Mauritius (MU) — 10 districts
  • 🇲🇦 Morocco (MA) — 12 regions
  • 🇳🇬 Nigeria (NG) — 36 states + FCT
  • 🇷🇼 Rwanda (RW) — 5 provinces
  • 🇸🇳 Senegal (SN) — 14 regions
  • 🇿🇦 South Africa (ZA) — 9 provinces
  • 🇹🇿 Tanzania (TZ) — 31 regions
  • 🇹🇳 Tunisia (TN) — 24 governorates

Each country includes regions, cities, and neighborhoods for major urban areas.

External Services

All geographic data (regions, cities, neighborhoods) is bundled locally within the plugin. No external API calls are made for checkout functionality.

The optional REST API exposes local geographic data (regions, cities, neighborhoods) via WordPress REST endpoints (/wp-json/scpwoo/v1/).

This plugin uses Freemius to manage licences, upgrades, and optional usage analytics. When the site administrator opts in, diagnostic data (WordPress version, PHP version, active plugins) and the administrator’s email address are sent to Freemius servers at https://freemius.com. No data is collected without explicit opt-in. Opting out is available at any time from the plugin’s account screen.

  • Freemius Privacy Policy: https://freemius.com/privacy/
  • Freemius Terms of Service: https://freemius.com/terms/

Third-Party Libraries

This plugin bundles the following third-party JavaScript library:

  • Fuse.js v7.3.0 — Lightweight fuzzy-search library used for typo-tolerant matching in checkout dropdowns.
    • Source: https://www.fusejs.io/
    • License: Apache License 2.0 (compatible with GPLv2 or later via GPLv3)

Screenshots

  • Checkout page with cascading Region City Neighborhood dropdowns
  • Admin dashboard with setup guide and quick actions
  • Geo Data management — accordion with regions, cities, and neighborhoods
  • Zone-based shipping rules configuration
  • Delivery restrictions with search and badge indicators
  • Cart shipping calculator with neighborhood field for accurate rate estimation

Installation

  1. Upload the plugin folder to /wp-content/plugins/
  2. Activate via the WordPress Plugins menu
  3. Add your target countries to WooCommerce Settings General Selling/Shipping locations
  4. Go to WooCommerce AfriRegions to configure

FAQ

How to add custom cities or neighborhoods?

Go to WooCommerce AfriRegions Geo Data tab. Expand a region, then use the “Add a city” or “Add” button for neighborhoods. You can also use the scpwoo_custom_places_{cc} filter (e.g. scpwoo_custom_places_cm for Cameroon).

How to set shipping rates by zone?

Go to WooCommerce Shipping your zone add “Zone Shipping” method. Configure a default rate, then add rules by region, city, or neighborhood. The most specific rule wins (Neighborhood > City > Region > Default).

How to restrict delivery to certain zones?

Go to WooCommerce AfriRegions Restrictions tab. Enable restrictions, then check the regions or cities you want to block.

Does it work with the cart shipping calculator?

Yes. The neighborhood field appears in the cart shipping calculator when a city with neighborhoods is selected. Shipping rates update in real-time.

Is it compatible with HPOS (Custom Orders Table)?

Yes. The plugin fully supports both HPOS and classic post-based orders.

Does the REST API expose my data publicly?

The REST API is enabled by default and exposes geographic data (regions, cities, neighborhoods) bundled in the plugin. Rate limiting (120 requests/minute per IP) protects against abuse. The data itself is not sensitive — it is the same public geographic data available at checkout.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“AfriRegions City & Neighborhood for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.6

  • New: Upgrade to Pro directly from the plugin — licence management and opt-in usage analytics via Freemius
  • Fixed: Shipping rule highlight animation now replays correctly when the same rule is edited multiple times
  • Improved: Keyboard navigation for sortable table columns and region/city accordion (Enter and Space keys)

1.0.5

  • Fixed: Typo-tolerant search now works correctly at checkout — it was included but not properly activated
  • Fixed: The upgrade page now accurately describes what is available for free and what requires the Pro version
  • Improved: Plugin translations load automatically on WordPress 6.7 and later

1.0.4

  • New: “Hide if no rule matches” option — hides the shipping method when no rate applies, instead of showing a default price
  • Improved: Address dropdowns now work without accents — typing “yaounde” correctly finds “Yaoundé”
  • Improved: Typo-tolerant search now requires at least 4 characters to avoid unrelated results
  • Fixed: Shipping cost details no longer appear as unreadable text in the admin order view
  • Updated: French translations improved

1.0.3

  • Fixed: A crash that could occur when the free shipping threshold was set to zero
  • Fixed: Shipping label prices now display correctly

1.0.2

  • Improved: Address fields load more reliably on slow mobile connections

1.0.1

  • New: Neighborhood field added to the cart shipping calculator for accurate rate estimates before checkout
  • New: Shipping rates refresh automatically when the neighborhood changes
  • New: Setup guide on the dashboard with a progress checklist
  • New: Statistics leaderboard with sorting, search, and medals
  • Improved: Shipping rules editor highlights zones already in use to prevent duplicates
  • Improved: Admin pages redesigned to match the standard WordPress look and feel
  • Fixed: Neighborhood saved in the cart no longer overrides an empty selection at checkout
  • Fixed: Shipping rates now recalculate correctly when only the neighborhood changes

1.0.0

  • Initial release
  • 19 African countries supported
  • Cascading address fields: Region City Neighborhood
  • Zone-based shipping with rates per region, city, or neighborhood
  • Address validation at checkout
  • Landmark and directions field
  • Delivery zone restrictions
  • Admin dashboard with order statistics
  • REST API for mobile app integration
  • Compatible with WooCommerce High-Performance Order Storage (HPOS)
  • Available in English and French