BACK TO DIRECTORY

CountryCue for Contact Form 7

by Ali

0.0
(0 ratings)

CountryCue adds a country dropdown to Contact Form 7. Visitors can select a country manually or correct a suggestion from supported Cloudways GeoIP or a verified direct Cloudflare connection. Labels include calling codes, such as Cyprus (+357), and your notification email receives the final choice.

Cloudways is not required. Manual country selection works on any host that supports WordPress and Contact Form 7, without enabling hosting geolocation. Automatic suggestions are optional and require one of the supported configurations below.

  • Manual selection works on any host that supports WordPress and Contact Form 7.
  • Optional automatic suggestions use existing hosting headers. No paid geolocation API, API key or GPS permission.
  • A visitor’s selection always takes priority over a delayed suggestion.
  • Cached pages use a same-origin, uncached request for each visitor’s suggestion.
  • Existing telephone fields and raw country values remain unchanged.
  • Native select controls, inherited form styling, popup forms and clean resets.
  • No early required-field errors caused by automatic country selection. Normal submission validation remains active.

Setup guide

Open the Installation tab for numbered setup instructions. The eight screenshots below show the Form tab, Mail tab, each CountryCue source option and the finished result. Click any screenshot to enlarge it. Cloudways and Cloudflare dashboard steps and official provider guides are included in Installation.

Created by Ali Khavari to solve a practical form problem: suggest a useful country without taking the final choice away from the visitor, and deliver that corrected choice to the person receiving the enquiry.

All features are free. CountryCue is an independent extension; it is not affiliated with Contact Form 7, Cloudways or Cloudflare.

Privacy and external services

Manual selection is the default. No remote request is made by CountryCue on activation. Country detection reads headers already supplied by your hosting/CDN; there is no visitor-IP lookup API.

An optional checkbox permits weekly server-side HTTPS downloads from https://www.cloudflare.com/ips-v4/ and https://www.cloudflare.com/ips-v6/ while direct Cloudflare mode is selected. These plain address lists verify the origin connection. The first scheduled download is approximately five minutes after enabling this option, subject to WordPress cron traffic. Both lists must pass validation before either replaces the cached lists. Failed updates retain the last verified data. Disabling consent or changing provider stops these downloads. Without consent, the bundled verified ranges are used.

These list requests disclose the website server’s IP address and standard HTTP request metadata (WordPress’ default HTTP user-agent may include the site URL) to Cloudflare. They never contain a visitor IP, selected country, form contents or credentials. Cloudflare may log the requests under its own policy.

Cloudflare: https://www.cloudflare.com/privacypolicy/ and https://www.cloudflare.com/website-terms/
Cloudways: https://www.cloudways.com/en/terms.php and https://www.cloudways.com/en/privacy-policy.php

CountryCue sets no cookies, uses no GPS, and creates no submission database. Diagnostic metadata retains only the latest notification check time, detection reason and country code; no visitor IP, name, email or message is stored by this plugin. The submitted country is part of the normal form/email and may be retained by other form-storage plugins. Hosting, CDN and mail-provider logs are outside CountryCue’s control. A suggested privacy-policy paragraph is available through WordPress’ privacy tools.

The country is self-reported and is not proof of location, nationality or residence.

Credits

Copyright 2026 Ali Khavari. CountryCue is distributed under GPL-3.0-or-later; see LICENSE.txt.

Country names are derived from umpirsky/country-list (English), MIT; see COUNTRY-DATA-LICENSE.txt and https://github.com/umpirsky/country-list.

Calling-code data is derived from Google libphonenumber PhoneNumberMetadata.xml, retrieved 2026-09-18. Copyright The Libphonenumber Authors, Apache-2.0; see PHONE-DATA-LICENSE.txt and https://github.com/google/libphonenumber/blob/master/resources/PhoneNumberMetadata.xml. The PHP mapping is an extracted country-to-calling-code subset, not the full phone validation library. The combined distribution uses GPLv3-or-later for Apache-2.0 compatibility; third-party notices and licences are preserved.

Bundled Cloudflare public IP ranges were verified 2026-09-18: https://www.cloudflare.com/ips/.

Screenshots

Add the field: Contact > Contact Forms > edit your form > Form. Insert the complete visitor-country tag without replacing your other fields, then Save.

Add the field: Contact > Contact Forms > edit your form > Form. Insert the complete visitor-country tag without replacing your other fields, then Save.

Add the email line: in the Mail tab, put Country: [visitor-country] in Message body and Save. Keep your own recipient and sender settings; example.com addresses are placeholders.

Add the email line: in the Mail tab, put Country: [visitor-country] in Message body and Save. Keep your own recipient and sender settings; example.com addresses are placeholders.

Any host: Settings > CountryCue > Manual selection only > Save Changes. Keep the main enable checkbox checked. No geolocation setup is needed for manual selection.

Any host: Settings > CountryCue > Manual selection only > Save Changes. Keep the main enable checkbox checked. No geolocation setup is needed for manual selection.

Cloudways automatic setup: enable Geo IP Detection in your Cloudways application first, then select Cloudways Geo IP Detection here and Save Changes. Check Connection check below.

Cloudways automatic setup: enable Geo IP Detection in your Cloudways application first, then select Cloudways Geo IP Detection here and Save Changes. Check Connection check below.

Direct Cloudflare automatic setup: enable IP Geolocation and proxy the site's hostname in Cloudflare first, then select the verified direct connection here. The host must preserve the original Cloudflare connection.

Direct Cloudflare automatic setup: enable IP Geolocation and proxy the site's hostname in Cloudflare first, then select the verified direct connection here. The host must preserve the original Cloudflare connection.

Check the public form: an automatic suggestion includes the calling code and remains editable by the visitor.

Check the public form: an automatic suggestion includes the calling code and remains editable by the visitor.

Verify the notification: the visitor changes the country to Romania (+40), and the email receives that final selection.

Verify the notification: the visitor changes the country to Romania (+40), and the email receives that final selection.

Check manual mode: the country placeholder remains until the visitor chooses; required-field validation applies on submission.

Check manual mode: the country placeholder remains until the visitor chooses; required-field validation applies on submission.

Plugin Details

Active Installs
0
Total Downloads
156
Version
1.0.0
Requires WP
6.7
Requires PHP
7.4
Tested Up To
7.1.4
Added
2026-09-21
Last Updated
2026-09-21 7:40pm GMT

Ratings

5
0
4
0
3
0
2
0
1
0