Description
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.
Performance-first front-end
- Vanilla JavaScript on the front-end
- ~3.5 KB CSS + JS combined (minified footprint on form pages)
- Assets enqueue only when a form is rendered on the page – zero impact on other pages
- Script loaded in the footer with
deferstrategy (WordPress 6.3+) - No global front-end CSS frameworks
Form builder (admin only)
- Document-first drag-and-drop editor (React via WordPress
wp-element, loaded only on the form edit screen) - Field types: text, email, textarea, phone, number, select, radio, checkbox
- Multiple recipient emails per form
- After submit: inline success message or redirect to a published page
Embedding
- Shortcode:
[sobiforms],[sobiforms id="3"],[sobiforms slug="contact"] - Gutenberg block: Sobi Forms Contact with form picker
- Works with any page builder that supports shortcodes or blocks
Submissions
- Email notifications via
wp_mail()(HTML) - Optional database storage (off by default)
- Inbox with read/unread, starred, admin notes, search and filters
- Honeypot, nonce verification, rate limiting (5 submissions/hour per hashed IP)
Security
- Nonce on every submission
- Honeypot field
- Server-side field validation against a strict JSON schema
- Capability checks and nonces on all admin actions
Privacy Policy
Sobi Forms processes data submitted through your forms. By default:
- Email only – field values are sent to the recipient address(es) you configure per form via
wp_mail(). Nothing is stored in the database unless you enable storage. - Optional database storage – when enabled under Sobi Forms -> Settings -> Privacy & Storage, submissions are saved in custom tables on your site (
wp_sobiforms_submissions,wp_sobiforms_forms). You control retention (auto-delete after N days). - Hashed IP – 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.
- Rate limiting – a transient keyed by hashed IP limits submissions to 5 per hour. Transients expire automatically.
- Admin notes – internal notes on submissions are stored in your database and never shown on the front-end or included in emails.
- No tracking – Sobi Forms does not connect to third-party analytics, advertising, or remote APIs when processing form submissions.
- No data sent to the plugin author – form submissions stay on your server and mail server. The optional Feedback settings tab links to an external form only if you choose to open it.
Site owners are responsible for their privacy policy and lawful basis for collecting visitor data.
Development
Human-readable source for the admin builder is in src/admin-builder/. Run npm install and npm run build to regenerate build/admin-builder/. React and @wordpress/* are loaded from WordPress; see third-party-licenses.txt for bundled libraries.
Installation
- Upload the
sobi-formsfolder to/wp-content/plugins/or installsobi-forms.zipfrom Plugins -> Add New -> Upload. - Activate Sobi Forms through the Plugins menu.
- Go to Sobi Forms -> Forms and create your first form.
- Copy the shortcode from the Install tab, or insert the Sobi Forms Contact block in the block editor.
- Paste the shortcode into any page (Gutenberg, Elementor, Divi, widget, etc.).
FAQ
-
Does Sobi Forms slow down my site?
-
On pages without a form, Sobi Forms adds no front-end CSS or JavaScript.
On pages with a form, only a small vanilla JS file and a minimal stylesheet are loaded – no React or heavy libraries on the public site.
-
Where is the form builder JavaScript loaded?
-
The admin builder (~70 KB plus WordPress-bundled React) loads only on Sobi Forms -> Forms -> Edit. It never runs on the front-end.
-
Can I use Sobi Forms with Elementor, Divi, or other page builders?
-
Yes. Use the
[sobiforms]shortcode or the Gutenberg block. Assets load when the form HTML is rendered. -
Is database storage required?
-
No. By default, submissions are sent by email only. Enable Settings -> Privacy & Storage to save submissions in the database.
-
Does Sobi Forms include reCAPTCHA?
-
No. Sobi Forms uses a honeypot, WordPress nonces, and rate limiting. reCAPTCHA is intentionally out of scope to keep the plugin lightweight.
-
Can I disable the plugin stylesheet and use my theme styles?
-
Yes. Use the
sobiforms_enqueue_front_assetsfilter to disable CSS while keeping AJAX submission.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Sobi Forms” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Sobi Forms” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release.
- Multi-form builder with shortcode
[sobiforms]and Gutenberg blocksobiforms/contact. - Field types: text, email, textarea, phone, number, select, radio, checkbox.
- Multiple recipient emails, post-submit message or redirect.
- Optional DB storage, submissions inbox with notes and filters.
- Prefix
sobiforms_throughout (WordPress.org coding standards). - Conditional front-end assets – load only when a form is rendered.
