{"id":224444,"date":"2025-04-10T11:21:03","date_gmt":"2025-04-10T11:21:03","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/flex-forms\/"},"modified":"2026-08-13T16:23:09","modified_gmt":"2026-08-13T16:23:09","slug":"flex-forms","status":"publish","type":"plugin","link":"https:\/\/sq.wordpress.org\/plugins\/flex-forms\/","author":23082855,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.2.0","stable_tag":"2.2.0","tested":"7.0.4","requires":"5.0","requires_php":"7.0","requires_plugins":null,"header_name":"Flex Forms","header_author":"FLEX","header_description":"A modular, customizable form builder plugin for WordPress.","assets_banners_color":"fdfdfe","last_updated":"2026-08-13 16:23:09","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/flexible.am\/","header_plugin_uri":"https:\/\/flex-fields.com\/forms\/","header_author_uri":"https:\/\/flexible.am\/","rating":0,"author_block_rating":0,"active_installs":10,"downloads":1080,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"flexfields","date":"2025-04-10 11:48:06"},"1.0.1":{"tag":"1.0.1","author":"flexfields","date":"2025-04-22 15:45:48"},"1.0.2":{"tag":"1.0.2","author":"flexfields","date":"2025-05-13 15:58:49"},"1.0.3":{"tag":"1.0.3","author":"flexfields","date":"2025-05-19 15:37:52"},"2.0.0":{"tag":"2.0.0","author":"flexfields","date":"2025-05-26 13:15:31"},"2.1.0":{"tag":"2.1.0","author":"flexfields","date":"2025-06-03 11:36:00"},"2.1.1":{"tag":"2.1.1","author":"flexfields","date":"2025-06-03 12:47:21"},"2.1.10":{"tag":"2.1.10","author":"flexfields","date":"2026-08-11 22:30:15"},"2.1.11":{"tag":"2.1.11","author":"flexfields","date":"2026-08-11 23:11:21"},"2.1.12":{"tag":"2.1.12","author":"flexfields","date":"2026-08-11 23:15:02"},"2.1.13":{"tag":"2.1.13","author":"flexfields","date":"2026-08-12 13:17:14"},"2.1.2":{"tag":"2.1.2","author":"flexfields","date":"2025-06-12 15:15:18"},"2.1.3":{"tag":"2.1.3","author":"flexfields","date":"2025-06-16 08:38:13"},"2.1.4":{"tag":"2.1.4","author":"flexfields","date":"2025-06-16 08:52:07"},"2.1.5":{"tag":"2.1.5","author":"flexfields","date":"2025-06-25 12:29:25"},"2.1.6":{"tag":"2.1.6","author":"flexfields","date":"2026-03-08 21:28:03"},"2.1.7":{"tag":"2.1.7","author":"flexfields","date":"2026-03-08 21:28:03"},"2.1.8":{"tag":"2.1.8","author":"flexfields","date":"2026-03-09 12:48:48"},"2.1.9":{"tag":"2.1.9","author":"flexfields","date":"2026-08-11 22:24:08"},"2.2.0":{"tag":"2.2.0","author":"flexfields","date":"2026-08-13 16:23:09"}},"upgrade_notice":{"2.2.0":"<p>Admin screens now use the shared Flex UI. Bookmarks to the old Forms list still redirect.<\/p>","2.1.13":"<p>Readme short description length fix for WordPress.org.<\/p>","2.1.12":"<p>Updated author branding to FLEX.<\/p>","2.1.11":"<p>SMTP settings moved to Flex SMTP. Activate Flex SMTP and re-check delivery.<\/p>","2.1.10":"<p>Updated WordPress.org branding assets.<\/p>","2.1.9":"<p>Updated plugin directory branding assets.<\/p>","2.1.8":"<p>Fixes SMTP settings not saving and form emails not sending. Recommended for all users.<\/p>","2.1.7":"<p>Security and performance update. reCAPTCHA loads only on form pages. Recommended for all users.<\/p>","2.1.6":"<p>Adds new global SMTP and &quot;Force From&quot; options. Recommended update for all users using email notifications.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3643234,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3643234,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3642602,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3642602,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3642602,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3642602,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3","2.0.0","2.1.0","2.1.1","2.1.10","2.1.11","2.1.12","2.1.13","2.1.2","2.1.3","2.1.4","2.1.5","2.1.6","2.1.7","2.1.8","2.1.9","2.2.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3642558,"resolution":"1","location":"assets","locale":"","width":1280,"height":2947},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3642558,"resolution":"2","location":"assets","locale":"","width":1280,"height":2947},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3642558,"resolution":"3","location":"assets","locale":"","width":1280,"height":900},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3642558,"resolution":"4","location":"assets","locale":"","width":1280,"height":1217},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3642558,"resolution":"5","location":"assets","locale":"","width":1280,"height":900}},"screenshots":{"1":"Form builder \u2013 Create and configure forms with various field types.","2":"Form settings \u2013 Configure success\/error behavior, email notifications, and storage.","3":"Submissions list \u2013 View and manage form submissions in the admin.","4":"Settings \u2013 SMTP, reCAPTCHA, and license configuration.","5":"Frontend form \u2013 Example of a form rendered on the front end."}},"plugin_section":[],"plugin_tags":[267,2240,361,2906,80],"plugin_category":[41,42,43],"plugin_contributors":[240619],"plugin_business_model":[],"class_list":["post-224444","plugin","type-plugin","status-publish","hentry","plugin_tags-email","plugin_tags-field","plugin_tags-form","plugin_tags-input","plugin_tags-shortcode","plugin_category-communication","plugin_category-contact-forms","plugin_category-customization","plugin_contributors-flexfields","plugin_committers-flexfields"],"banners":{"banner":"https:\/\/ps.w.org\/flex-forms\/assets\/banner-772x250.png?rev=3642602","banner_2x":"https:\/\/ps.w.org\/flex-forms\/assets\/banner-1544x500.png?rev=3642602","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/flex-forms\/assets\/icon-128x128.png?rev=3643234","icon_2x":"https:\/\/ps.w.org\/flex-forms\/assets\/icon-256x256.png?rev=3643234","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/flex-forms\/assets\/screenshot-1.png?rev=3642558","caption":"Form builder \u2013 Create and configure forms with various field types."},{"src":"https:\/\/ps.w.org\/flex-forms\/assets\/screenshot-2.png?rev=3642558","caption":"Form settings \u2013 Configure success\/error behavior, email notifications, and storage."},{"src":"https:\/\/ps.w.org\/flex-forms\/assets\/screenshot-3.png?rev=3642558","caption":"Submissions list \u2013 View and manage form submissions in the admin."},{"src":"https:\/\/ps.w.org\/flex-forms\/assets\/screenshot-4.png?rev=3642558","caption":"Settings \u2013 SMTP, reCAPTCHA, and license configuration."},{"src":"https:\/\/ps.w.org\/flex-forms\/assets\/screenshot-5.png?rev=3642558","caption":"Frontend form \u2013 Example of a form rendered on the front end."}],"raw_content":"<!--section=description-->\n<p><strong>Flex Forms<\/strong> is a modular and flexible form builder plugin for WordPress, designed to be lightweight yet feature-rich. It allows you to quickly build forms with various field types, manage submissions, and integrate with your theme and workflow easily.<\/p>\n\n<p><strong>Key Features:<\/strong><\/p>\n\n<ul>\n<li>Easy form creation via WordPress admin<\/li>\n<li>Drag-and-drop field ordering<\/li>\n<li>Email notifications on submission<\/li>\n<li>Submission storage in database<\/li>\n<li>Google reCAPTCHA v2\/v3 and Cloudflare Turnstile support<\/li>\n<li>Custom shortcode per form<\/li>\n<li>SMTP email sending support with test email<\/li>\n<li>Force \u201cFrom\u201d email override (site-wide)<\/li>\n<li>Full integration with <a href=\"https:\/\/flex-fields.com\/\">Flex Fields<\/a><\/li>\n<li>Developer-friendly hooks and filters<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>Flex Forms may interact with third-party services depending on your configuration:<\/p>\n\n<h3>Email Sending<\/h3>\n\n<p>Flex Forms supports custom SMTP configuration for reliable email delivery.<\/p>\n\n<ul>\n<li><strong>What data is sent:<\/strong> Form submission content (user input).<\/li>\n<li><strong>When data is sent:<\/strong> When a user submits a form or when a notification is triggered.<\/li>\n<li><strong>Where data is sent:<\/strong> To the configured email recipient(s) via your selected email service provider.<\/li>\n<li><strong>Privacy &amp; Terms:<\/strong> Email service providers' policies apply (e.g., SendGrid, Mailgun, custom SMTP).\n\n<ul>\n<li>Example terms:<\/li>\n<li>SendGrid: https:\/\/sendgrid.com\/policies\/tos\/<\/li>\n<li>Mailgun: https:\/\/www.mailgun.com\/legal\/<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h3>Google reCAPTCHA<\/h3>\n\n<p>Used to prevent spam form submissions.<\/p>\n\n<ul>\n<li><strong>What the service is and what it is used for:<\/strong>\nVerifies that a user is human when submitting a form.<\/li>\n<li><strong>What data is sent and when:<\/strong>\nThe user's IP address and browser information are sent to Google when the user interacts with a reCAPTCHA-enabled form.<\/li>\n<li><strong>Where data is sent:<\/strong>\nGoogle servers.<\/li>\n<li><strong>Privacy &amp; Terms:<\/strong>\n\n<ul>\n<li>https:\/\/policies.google.com\/terms<\/li>\n<li>https:\/\/policies.google.com\/privacy<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<h3>Cloudflare Turnstile<\/h3>\n\n<p>Used to prevent spam form submissions when Turnstile is selected as the captcha provider.<\/p>\n\n<ul>\n<li><strong>What the service is and what it is used for:<\/strong>\nVerifies that a user is human when submitting a form.<\/li>\n<li><strong>What data is sent and when:<\/strong>\nThe user's IP address, browser information, and Turnstile token are sent to Cloudflare when the user interacts with a Turnstile-enabled form.<\/li>\n<li><strong>Where data is sent:<\/strong>\nCloudflare servers (<code>https:\/\/challenges.cloudflare.com\/<\/code>).<\/li>\n<li><strong>Privacy &amp; Terms:<\/strong>\n\n<ul>\n<li>https:\/\/www.cloudflare.com\/website-terms\/<\/li>\n<li>https:\/\/www.cloudflare.com\/privacypolicy\/<\/li>\n<\/ul><\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/flex-forms<\/code> directory, or install the plugin through the WordPress plugin screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Navigate to <strong>Flex Forms \u2192 All Forms<\/strong> and click <strong>Add Form<\/strong>.<\/li>\n<li>Use the generated shortcode to embed the form into any page or post.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>2.2.0<\/h4>\n\n<ul>\n<li>Rebuilt the admin UI to match Flex Redirects: header, stats, cards, and custom list screens.<\/li>\n<li>Forms, submissions, settings, usage, and mass email now share the same navigation chrome.<\/li>\n<li>Plugin Check \/ WordPress.org readiness: i18n placeholders, output escaping, Turnstile docs, and input sanitization.<\/li>\n<\/ul>\n\n<h4>2.1.13<\/h4>\n\n<ul>\n<li>Shortened readme short description to meet WordPress.org 150-character limit.<\/li>\n<\/ul>\n\n<h4>2.1.12<\/h4>\n\n<ul>\n<li>Updated plugin author to FLEX (https:\/\/flexible.am\/).<\/li>\n<\/ul>\n\n<h4>2.1.11<\/h4>\n\n<ul>\n<li>Moved SMTP delivery to Flex SMTP; Forms now uses wp_mail with per-form From headers.<\/li>\n<li>Settings show a Flex SMTP status notice instead of embedded SMTP credentials.<\/li>\n<\/ul>\n\n<h4>2.1.10<\/h4>\n\n<ul>\n<li>Cleaned plugin icon top border and cropped banner footer for sharper WordPress.org assets.<\/li>\n<\/ul>\n\n<h4>2.1.9<\/h4>\n\n<ul>\n<li>Updated WordPress.org banner and icons to the Flex family branding.<\/li>\n<\/ul>\n\n<h4>2.1.7<\/h4>\n\n<ul>\n<li>Security fixes: escaping, nonces, $_GET validation, $_POST checks.<\/li>\n<li>Performance: reCAPTCHA scripts load only when forms are present.<\/li>\n<li>Added index.php, uninstall.php, load_plugin_textdomain.<\/li>\n<li>Added DEPLOY.md, Screenshots section, deployment docs.<\/li>\n<li>Fixed readme tags (5 max for WordPress.org).<\/li>\n<\/ul>\n\n<h4>2.1.8<\/h4>\n\n<ul>\n<li>Fixed SMTP settings not saving on first click (checkbox options not persisting).<\/li>\n<li>Fixed form submission emails not sending when SMTP is enabled (missing Content-Type header).<\/li>\n<li>Settings API now uses explicit defaults for all options.<\/li>\n<\/ul>\n\n<h4>2.1.6<\/h4>\n\n<ul>\n<li>Added global SMTP configuration option.<\/li>\n<li>Added \"Force From Email\" and \"From Email\" override.<\/li>\n<li>Improved PHPMailer integration and compatibility.<\/li>\n<li>Improved test email feature.<\/li>\n<li>Minor fixes and improvements.<\/li>\n<\/ul>","raw_excerpt":"Lightweight form builder with database storage, email alerts, reCAPTCHA, and Flex Fields integration. Pair with Flex SMTP for delivery.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/224444","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=224444"}],"author":[{"embeddable":true,"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/flexfields"}],"wp:attachment":[{"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=224444"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=224444"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=224444"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=224444"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=224444"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/sq.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=224444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}