{"id":324606,"date":"2026-06-10T07:44:14","date_gmt":"2026-06-10T07:44:14","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/sobi-forms-easy-lightweight-form-builder-contact-forms\/"},"modified":"2026-06-10T08:38:52","modified_gmt":"2026-06-10T08:38:52","slug":"sobi-forms","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/sobi-forms\/","author":4841310,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"Sobi Forms","header_author":"alesas","header_description":"The lightweight, performance-first form builder with built-in lead management.","assets_banners_color":"ffffff","last_updated":"2026-06-10 08:38:52","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/sobiforms.com","header_author_uri":"https:\/\/profiles.wordpress.org\/alesas\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":26,"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":"alesas","date":"2026-06-10 08:38:52"}},"upgrade_notice":{"1.0.0":"<p>Initial public release of Sobi Forms.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3567025,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3567025,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3567025,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3567025,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Form builder - drag-and-drop field editor with Settings and Install tabs.","2":"Submissions inbox - filters, search, read\/unread and starred markers.","3":"Gutenberg block - pick a form from the dropdown in the editor.","4":"Front-end form - minimal markup, AJAX feedback after submit."}},"plugin_section":[],"plugin_tags":[360,358,2253,148076,4035],"plugin_category":[42],"plugin_contributors":[266446],"plugin_business_model":[],"class_list":["post-324606","plugin","type-plugin","status-publish","hentry","plugin_tags-contact","plugin_tags-contact-form","plugin_tags-form-builder","plugin_tags-gutenberg","plugin_tags-lightweight","plugin_category-contact-forms","plugin_contributors-alesas","plugin_committers-alesas"],"banners":{"banner":"https:\/\/ps.w.org\/sobi-forms\/assets\/banner-772x250.png?rev=3567025","banner_2x":"https:\/\/ps.w.org\/sobi-forms\/assets\/banner-1544x500.png?rev=3567025","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/sobi-forms\/assets\/icon-128x128.png?rev=3567025","icon_2x":"https:\/\/ps.w.org\/sobi-forms\/assets\/icon-256x256.png?rev=3567025","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Sobi Forms is a lightweight contact form plugin built for speed and simplicity. Create multiple forms, embed them anywhere with a shortcode or Gutenberg block, and keep your front-end lean.<\/p>\n\n<p><strong>Performance-first front-end<\/strong><\/p>\n\n<ul>\n<li>Vanilla JavaScript on the front-end<\/li>\n<li>~3.5 KB CSS + JS combined (minified footprint on form pages)<\/li>\n<li>Assets enqueue only when a form is rendered on the page - zero impact on other pages<\/li>\n<li>Script loaded in the footer with <code>defer<\/code> strategy (WordPress 6.3+)<\/li>\n<li>No global front-end CSS frameworks<\/li>\n<\/ul>\n\n<p><strong>Form builder (admin only)<\/strong><\/p>\n\n<ul>\n<li>Document-first drag-and-drop editor (React via WordPress <code>wp-element<\/code>, loaded only on the form edit screen)<\/li>\n<li>Field types: text, email, textarea, phone, number, select, radio, checkbox<\/li>\n<li>Multiple recipient emails per form<\/li>\n<li>After submit: inline success message or redirect to a published page<\/li>\n<\/ul>\n\n<p><strong>Embedding<\/strong><\/p>\n\n<ul>\n<li>Shortcode: <code>[sobiforms]<\/code>, <code>[sobiforms id=\"3\"]<\/code>, <code>[sobiforms slug=\"contact\"]<\/code><\/li>\n<li>Gutenberg block: <strong>Sobi Forms Contact<\/strong> with form picker<\/li>\n<li>Works with any page builder that supports shortcodes or blocks<\/li>\n<\/ul>\n\n<p><strong>Submissions<\/strong><\/p>\n\n<ul>\n<li>Email notifications via <code>wp_mail()<\/code> (HTML)<\/li>\n<li>Optional database storage (off by default)<\/li>\n<li>Inbox with read\/unread, starred, admin notes, search and filters<\/li>\n<li>Honeypot, nonce verification, rate limiting (5 submissions\/hour per hashed IP)<\/li>\n<\/ul>\n\n<p><strong>Security<\/strong><\/p>\n\n<ul>\n<li>Nonce on every submission<\/li>\n<li>Honeypot field<\/li>\n<li>Server-side field validation against a strict JSON schema<\/li>\n<li>Capability checks and nonces on all admin actions<\/li>\n<\/ul>\n\n<h3>Privacy Policy<\/h3>\n\n<p>Sobi Forms processes data submitted through your forms. By default:<\/p>\n\n<ul>\n<li><strong>Email only<\/strong> - field values are sent to the recipient address(es) you configure per form via <code>wp_mail()<\/code>. Nothing is stored in the database unless you enable storage.<\/li>\n<li><strong>Optional database storage<\/strong> - when enabled under <strong>Sobi Forms -&gt; Settings -&gt; Privacy &amp; Storage<\/strong>, submissions are saved in custom tables on your site (<code>wp_sobiforms_submissions<\/code>, <code>wp_sobiforms_forms<\/code>). You control retention (auto-delete after N days).<\/li>\n<li><strong>Hashed IP<\/strong> - when storage is enabled, a one-way SHA-256 hash of the visitor IP is stored with each submission for abuse prevention. Raw IP addresses are not stored.<\/li>\n<li><strong>Rate limiting<\/strong> - a transient keyed by hashed IP limits submissions to 5 per hour. Transients expire automatically.<\/li>\n<li><strong>Admin notes<\/strong> - internal notes on submissions are stored in your database and never shown on the front-end or included in emails.<\/li>\n<li><strong>No tracking<\/strong> - Sobi Forms does not connect to third-party analytics, advertising, or remote APIs when processing form submissions.<\/li>\n<li><strong>No data sent to the plugin author<\/strong> - form submissions stay on your server and mail server. The optional <strong>Feedback<\/strong> settings tab links to an external form only if you choose to open it.<\/li>\n<\/ul>\n\n<p>Site owners are responsible for their privacy policy and lawful basis for collecting visitor data.<\/p>\n\n<h3>Development<\/h3>\n\n<p>Human-readable source for the admin builder is in <code>src\/admin-builder\/<\/code>. Run <code>npm install<\/code> and <code>npm run build<\/code> to regenerate <code>build\/admin-builder\/<\/code>. React and <code>@wordpress\/*<\/code> are loaded from WordPress; see <code>third-party-licenses.txt<\/code> for bundled libraries.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>sobi-forms<\/code> folder to <code>\/wp-content\/plugins\/<\/code> or install <code>sobi-forms.zip<\/code> from <strong>Plugins -&gt; Add New -&gt; Upload<\/strong>.<\/li>\n<li>Activate <strong>Sobi Forms<\/strong> through the <strong>Plugins<\/strong> menu.<\/li>\n<li>Go to <strong>Sobi Forms -&gt; Forms<\/strong> and create your first form.<\/li>\n<li>Copy the shortcode from the <strong>Install<\/strong> tab, or insert the <strong>Sobi Forms Contact<\/strong> block in the block editor.<\/li>\n<li>Paste the shortcode into any page (Gutenberg, Elementor, Divi, widget, etc.).<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20sobi%20forms%20slow%20down%20my%20site%3F\"><h3>Does Sobi Forms slow down my site?<\/h3><\/dt>\n<dd><p>On pages <strong>without<\/strong> a form, Sobi Forms adds <strong>no<\/strong> front-end CSS or JavaScript.<\/p>\n\n<p>On pages <strong>with<\/strong> a form, only a small vanilla JS file and a minimal stylesheet are loaded - no React or heavy libraries on the public site.<\/p><\/dd>\n<dt id=\"where%20is%20the%20form%20builder%20javascript%20loaded%3F\"><h3>Where is the form builder JavaScript loaded?<\/h3><\/dt>\n<dd><p>The admin builder (~70 KB plus WordPress-bundled React) loads <strong>only<\/strong> on <strong>Sobi Forms -&gt; Forms -&gt; Edit<\/strong>. It never runs on the front-end.<\/p><\/dd>\n<dt id=\"can%20i%20use%20sobi%20forms%20with%20elementor%2C%20divi%2C%20or%20other%20page%20builders%3F\"><h3>Can I use Sobi Forms with Elementor, Divi, or other page builders?<\/h3><\/dt>\n<dd><p>Yes. Use the <code>[sobiforms]<\/code> shortcode or the Gutenberg block. Assets load when the form HTML is rendered.<\/p><\/dd>\n<dt id=\"is%20database%20storage%20required%3F\"><h3>Is database storage required?<\/h3><\/dt>\n<dd><p>No. By default, submissions are sent by email only. Enable <strong>Settings -&gt; Privacy &amp; Storage<\/strong> to save submissions in the database.<\/p><\/dd>\n<dt id=\"does%20sobi%20forms%20include%20recaptcha%3F\"><h3>Does Sobi Forms include reCAPTCHA?<\/h3><\/dt>\n<dd><p>No. Sobi Forms uses a honeypot, WordPress nonces, and rate limiting. reCAPTCHA is intentionally out of scope to keep the plugin lightweight.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20the%20plugin%20stylesheet%20and%20use%20my%20theme%20styles%3F\"><h3>Can I disable the plugin stylesheet and use my theme styles?<\/h3><\/dt>\n<dd><p>Yes. Use the <code>sobiforms_enqueue_front_assets<\/code> filter to disable CSS while keeping AJAX submission.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Multi-form builder with shortcode <code>[sobiforms]<\/code> and Gutenberg block <code>sobiforms\/contact<\/code>.<\/li>\n<li>Field types: text, email, textarea, phone, number, select, radio, checkbox.<\/li>\n<li>Multiple recipient emails, post-submit message or redirect.<\/li>\n<li>Optional DB storage, submissions inbox with notes and filters.<\/li>\n<li>Prefix <code>sobiforms_<\/code> throughout (WordPress.org coding standards).<\/li>\n<li>Conditional front-end assets - load only when a form is rendered.<\/li>\n<\/ul>","raw_excerpt":"Lightweight form builder with inbox, shortcode, Gutenberg block, and vanilla AJAX.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/324606","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=324606"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/alesas"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=324606"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=324606"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=324606"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=324606"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=324606"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=324606"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}