Alharthiweb Phone Country Code adds a searchable country selector beside ordinary telephone fields. Free automatically discovers type="tel", autocomplete="tel", and common phone names such as phone, mobile and customer_phone. WooCommerce Classic Checkout uses billing_phone; customer_phone is a general form convention, not a WooCommerce standard. Choose favorite countries, set a fallback, or paste an international number. Arabic and Persian digits and the 00 international prefix are accepted.
An international prefix takes priority over the billing address. Automatic suggestions never change the country after typing starts or after a manual choice. The plugin uses English by default, including on an Arabic site; the site translation is an explicit option. It does not change the site language or rewrite saved orders.
Free includes country names, flags, calling codes, search, favorites, safe input normalization, keyboard controls, and optional disclosed IP country suggestion. It does not perform detailed number validation.
Pro functionality is distributed separately from this Free package: local metadata validation with matching server checks for Classic Checkout billing_phone, optional mobile-only checks, additional field selectors, and custom plain-text messages. Other forms receive browser validation only. Pro availability and licensing are being prepared.
Checkout Blocks and Store API are not supported in this version. Format validity does not prove that a phone exists, belongs to a visitor, or can receive SMS. No OTP or SMS service is provided.
External services and privacy
No external service is required. Phone processing and country data are local. Automatic country suggestion stays off until an administrator explicitly chooses Enable with FreeIPAPI and saves. The free endpoint needs no account, API key or subscription and permits commercial use under its current terms. For an empty phone field without a known country, the browser makes at most one request per page to
https://free.freeipapi.com/api/v1/json/ . The service receives the visitor IP address, website origin and normal connection metadata, never phone numbers, order details, names or emails. The plugin sends no credentials or referrer, uses only the countryCode mapped to local calling codes, and does not save the IP or response. FreeIPAPI may keep request logs. See
https://freeipapi.com/privacy and
https://freeipapi.com/terms .
The free service allows 10 requests per 10 seconds and 60 per minute, shared by domain and source IP, not per visitor; see
https://freeipapi.com/rate-limit . Accuracy and availability are not guaranteed. After five seconds, an error or a rate limit, the current country stays usable; there is no retry or alternate provider. VPN results may reflect the network exit country. Add the service to your privacy notice and obtain visitor consent where required before enabling requests. A site integration can return false from the alhwpc_allow_country_suggestion filter to suppress requests for a visitor. The settings preview never contacts the provider.
The plugin stores configuration only. WooCommerce or the containing form controls phone storage. No external phone-validation request is included. Optional Freemius account and usage sharing is described separately below.
Source and licenses
First-party source is GPL-3.0-or-later. Country data derives from intl-tel-input 29.5.5 (MIT),
https://github.com/jackocnr/intl-tel-input/tree/v29.5.5 . Its notice is included under licenses/. Editable frontend source, country data and readable classic bundles are included. The deterministic bundle recipe is described in SOURCE.txt.
- Install and activate the ZIP through Plugins > Add New > Upload Plugin.
- Open Settings > Phone Country Code and try a number in the preview.
- Open a normal phone form or Classic Checkout. Defaults work immediately.
When replacing QBF Phone Country Selector, deactivate the old plugin first. Saved legacy settings are retained; historical order numbers are untouched. Do not activate two editions together.