{"id":334601,"date":"2026-07-01T19:39:52","date_gmt":"2026-07-01T19:39:52","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/math-captcha-for-gravity-forms\/"},"modified":"2026-07-01T19:54:59","modified_gmt":"2026-07-01T19:54:59","slug":"math-captcha-for-gravity-forms","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/math-captcha-for-gravity-forms\/","author":23305754,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.3","requires_php":"7.4","requires_plugins":null,"header_name":"Math Captcha for Gravity Forms","header_author":"codedbyabir","header_description":"Adds a lightweight, server-side math CAPTCHA to Gravity Forms for spam protection. No JavaScript required. Not affiliated with or endorsed by Rocketgenius \/ Gravity Forms.","assets_banners_color":"afc2f6","last_updated":"2026-07-01 19:54:59","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/math-captcha-for-gravity-forms","header_author_uri":"https:\/\/github.com\/codedbyabir\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":60,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"codedbyabir","date":"2026-07-01 19:54:59"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3593139,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3593139,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3593139,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3593139,"resolution":"1","location":"assets","locale":"","width":1417,"height":768},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3593139,"resolution":"2","location":"assets","locale":"","width":1560,"height":794}},"screenshots":[]},"plugin_section":[],"plugin_tags":[362,601,1655,144425,2419],"plugin_category":[42,44],"plugin_contributors":[243793],"plugin_business_model":[],"class_list":["post-334601","plugin","type-plugin","status-publish","hentry","plugin_tags-captcha","plugin_tags-forms","plugin_tags-gravity-forms","plugin_tags-math-captcha","plugin_tags-spam-protection","plugin_category-contact-forms","plugin_category-discussion-and-community","plugin_contributors-codedbyabir","plugin_committers-codedbyabir"],"banners":{"banner":"https:\/\/ps.w.org\/math-captcha-for-gravity-forms\/assets\/banner-772x250.jpg?rev=3593139","banner_2x":"https:\/\/ps.w.org\/math-captcha-for-gravity-forms\/assets\/banner-1544x500.jpg?rev=3593139","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/math-captcha-for-gravity-forms\/assets\/icon-128x128.png?rev=3593139","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/math-captcha-for-gravity-forms\/assets\/screenshot-1.png?rev=3593139","caption":""},{"src":"https:\/\/ps.w.org\/math-captcha-for-gravity-forms\/assets\/screenshot-2.png?rev=3593139","caption":""}],"raw_content":"<!--section=description-->\n<p>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.<\/p>\n\n<p><strong>How it works<\/strong><\/p>\n\n<ol>\n<li>Add three fields to your Gravity Forms form:\n\n<ul>\n<li>A <strong>Number<\/strong> (or Hidden) field with Admin Label <code>num1<\/code><\/li>\n<li>A <strong>Number<\/strong> (or Hidden) field with Admin Label <code>num2<\/code><\/li>\n<li>A <strong>Number<\/strong> field with Admin Label <code>math_answer<\/code>, where the visitor types their answer<\/li>\n<\/ul><\/li>\n<li>Add an <strong>HTML<\/strong> field containing the placeholder <code>{math_question}<\/code> wherever you want the question text to appear.<\/li>\n<li>The plugin fills <code>num1<\/code> and <code>num2<\/code> with random numbers on each page load, replaces <code>{math_question}<\/code> with the rendered question, and validates <code>math_answer<\/code> server-side on submit.<\/li>\n<\/ol>\n\n<p>The same numbers persist across a failed-validation reload, so the question a visitor sees always matches what's being validated.<\/p>\n\n<p><strong>Why server-side?<\/strong><\/p>\n\n<p>No JavaScript means no scripts to block, no client-side bypass, and no impact on page-load performance.<\/p>\n\n<p>This plugin is independently developed and is not affiliated with, endorsed by, or sponsored by Rocketgenius, Inc. or Gravity Forms.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>math-captcha-for-gravity-forms<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install directly through the WordPress plugin screen.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Make sure Gravity Forms is installed and active \u2014 this plugin does nothing without it.<\/li>\n<li>Edit the form(s) you want to protect and add the three fields described above (Admin Labels <code>num1<\/code>, <code>num2<\/code>, <code>math_answer<\/code>) plus an HTML field containing <code>{math_question}<\/code>.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20without%20gravity%20forms%3F\"><h3>Does this work without Gravity Forms?<\/h3><\/dt>\n<dd><p>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.<\/p><\/dd>\n<dt id=\"does%20this%20send%20any%20data%20to%20external%20services%3F\"><h3>Does this send any data to external services?<\/h3><\/dt>\n<dd><p>No. All number generation and validation happens entirely server-side, on your own site.<\/p><\/dd>\n<dt id=\"can%20i%20style%20the%20question%20text%3F\"><h3>Can I style the question text?<\/h3><\/dt>\n<dd><p>Yes \u2014 the question is wrapped in a <code>&lt;strong&gt;<\/code> tag inside your HTML field, so you can wrap it with your own markup\/CSS in the HTML field content.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20don%27t%20add%20the%20math_answer%20field%3F\"><h3>What happens if I don't add the math_answer field?<\/h3><\/dt>\n<dd><p>The plugin checks for all three fields (<code>num1<\/code>, <code>num2<\/code>, <code>math_answer<\/code>) 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.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"A lightweight, server-side math CAPTCHA for Gravity Forms. No JavaScript, no external services, no tracking.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/334601","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=334601"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/codedbyabir"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=334601"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=334601"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=334601"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=334601"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=334601"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=334601"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}