ForgePress Country Choice Rules for Gravity Forms

Disgrifiad

ForgePress Country Choice Rules for Gravity Forms lets you define rules that remove specific choices (radio, dropdown, checkbox options) for visitors from selected countries. This happens server-side (secure), and you can configure a fallback choice to auto-select when an option is removed.

Highlights

  • Per-country choice blocking for radio, dropdown, and checkbox fields
  • Multi-form / multi-field rules (simple repeater UI)
  • Fallback choice (optional) if a blocked option is removed
  • Server-side filtering (not just CSS/JS hiding)
  • Optional VPN/Proxy handling:
    • Do nothing
    • Show warning message
    • Force a default country for rule evaluation
    • Block submission with a custom message
  • Cloudflare aware (CF-IPCountry) with 1h caching for IP lookups
  • Lightweight and admin-friendly

This plugin is not affiliated with or endorsed by Gravity Forms. It simply integrates with Gravity Forms via its standard hooks.

How it works (in short)

  1. You add rules: Form ID + Field ID + Choice Text/Value + Countries (+ optional fallback).
  2. On render/validation, the plugin detects the visitor country.
  3. If a rule matches, the corresponding choice(s) are removed and an optional fallback is selected.

External Services & Data Flow (Guideline 6)

This plugin may use third-party services to determine the visitor’s country and (optionally) detect VPN/Proxy usage.

  • Cloudflare (if your site is on Cloudflare):
    We read the CF-IPCountry header provided by Cloudflare. No outbound request is made by this plugin.
    Privacy: https://www.cloudflare.com/privacypolicy/

  • ipapi.co (free) (default geolocation when Cloudflare is not present):
    The plugin requests https://ipapi.co/{IP}/json/ to map visitor IP country.
    Data sent: visitor IP only.
    Retention: result cached in WordPress for 1 hour.
    Privacy: https://ipapi.co/privacy/

  • Optional VPN/Proxy checks (opt-in by the site admin):

    • ipregistry.co (if an API key is configured):
      Data sent: visitor IP to check proxy/VPN indicators.
      Privacy: https://ipregistry.co/privacy
    • ipapi.com PRO (if an API key is configured):
      Data sent: visitor IP with security=1 to check VPN/Proxy/Tor.
      Privacy: https://ipapi.com/privacy

No form entries or personal form fields are sent to these providers. Admins can disable optional VPN checks entirely.

GDPR/Privacy: Only an IP address may be sent to the selected provider(s) to derive country/VPN status. You should disclose this in your site privacy policy if enabled.

Notes on Naming / Trademarks

This is an independent plugin for Gravity Forms and is not affiliated with or endorsed by Gravity Forms. The name and readme make this relationship clear.

Features in Detail

  • Rule builder UI under Settings ForgePress Country Choice Rules
    • Add multiple rows; each row targets a Form ID + Field ID, the choice label/value, and a list of countries (ISO-2).
    • Optionally set a Fallback choice to auto-select if the blocked option is removed.
  • Runtime enforcement
    • Choices are removed on gform_pre_render and validated on gform_validation.
    • If a blocked value is posted manually, validation fails with a clear message.
  • VPN/Proxy handling
    • Admin can choose: Do nothing, Show warning, Force country, or Block submission.
    • Works without an API key (heuristics). With a key (ipregistry/ipapi PRO), detection is more accurate.

Gosod

  1. Install and activate Gravity Forms first.
  2. Upload the plugin ZIP and activate ForgePress Country Choice Rules for Gravity Forms.
  3. Go to Settings ForgePress Country Choice Rules to add rules.
  4. (Optional) Configure VPN/Proxy handling and provider API key(s).

Cwestiynau Cyffredin

Does this work without JavaScript?

Yes. Filtering is server-side.

What happens if the user is on a VPN?

By default, geolocation is based on the detected IP, which may reflect the VPN’s exit node. You can enable VPN/Proxy handling: show a warning, force a default country for rule evaluation, or block the submission. For higher accuracy, add an API key for ipregistry or ipapi PRO.

How do I find Field IDs and Choice values?

In the Gravity Forms editor, each field shows an ID. Choices have text and value; match either (the plugin compares case-insensitively).

Is this compatible with caching?

Yes. Country detection is per-request and cached (IP result for 1 hour). For full-page caching, ensure your CDN/proxy varies cache by country (or bypass cache on form pages) if you need per-country differences on the same URL.

Is there a performance impact?

Minimal. A single fast IP lookup is cached; Cloudflare country header avoids lookups entirely.

Adolygiadau

There are no reviews for this plugin.

Contributors & Developers

“ForgePress Country Choice Rules for Gravity Forms” is open source software. The following people have contributed to this plugin.

Cyfranwyr

Cofnod Newid

1.3.0

  • Initial public release under the new name/slug.
  • Country-based choice filtering with fallback selection.
  • Optional VPN/Proxy handling (warn/force/block).
  • Cloudflare header + ipapi.co fallback with 1h caching.
  • Admin UI for multi-form/multi-field rules.