=== Math Captcha for Gravity Forms ===
Contributors: codedbyabir
Tags: gravity forms, captcha, math captcha, spam protection, forms
Requires at least: 6.3
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

A lightweight, server-side math CAPTCHA for Gravity Forms. No JavaScript, no external services, no tracking.

== Description ==

Math Captcha for Gravity Forms adds a basic "what is X + Y" challenge to any Gravity Forms form, helping block automated spam submissions without relying on third-party CAPTCHA services, external API calls, or client-side JavaScript.

**How it works**

1. Add three fields to your Gravity Forms form:
   * A **Number** (or Hidden) field with Admin Label `num1`
   * A **Number** (or Hidden) field with Admin Label `num2`
   * A **Number** field with Admin Label `math_answer`, where the visitor types their answer
2. Add an **HTML** field containing the placeholder `{math_question}` wherever you want the question text to appear.
3. The plugin fills `num1` and `num2` with random numbers on each page load, replaces `{math_question}` with the rendered question, and validates `math_answer` server-side on submit.

The same numbers persist across a failed-validation reload, so the question a visitor sees always matches what's being validated.

**Why server-side?**

No JavaScript means no scripts to block, no client-side bypass, and no impact on page-load performance.

This plugin is independently developed and is not affiliated with, endorsed by, or sponsored by Rocketgenius, Inc. or Gravity Forms.

== Installation ==

1. Upload the `math-captcha-for-gravity-forms` folder to `/wp-content/plugins/`, or install directly through the WordPress plugin screen.
2. Activate the plugin through the 'Plugins' screen in WordPress.
3. Make sure Gravity Forms is installed and active — this plugin does nothing without it.
4. Edit the form(s) you want to protect and add the three fields described above (Admin Labels `num1`, `num2`, `math_answer`) plus an HTML field containing `{math_question}`.

== Frequently Asked Questions ==

= Does this work without Gravity Forms? =

No. This plugin only adds functionality on top of Gravity Forms and does nothing if Gravity Forms is not installed and active. You'll see an admin notice if it's missing.

= Does this send any data to external services? =

No. All number generation and validation happens entirely server-side, on your own site.

= Can I style the question text? =

Yes — the question is wrapped in a `<strong>` tag inside your HTML field, so you can wrap it with your own markup/CSS in the HTML field content.

= What happens if I don't add the math_answer field? =

The plugin checks for all three fields (`num1`, `num2`, `math_answer`) by Admin Label. If any are missing from a given form, validation is skipped silently for that form, so it won't break forms that aren't using the captcha.

== Changelog ==

= 1.0.0 =
* Initial release.

== Upgrade Notice ==

= 1.0.0 =
Initial release.