Core Forms is a lightweight WordPress forms plugin that lets you create forms using plain HTML with AJAX submission handling. Unlike drag-and-drop form builders, Core Forms gives you full control over your form markup while handling all the plumbing: validation, spam protection, email notifications, submission storage, and more.
All premium features are bundled in the core plugin. There are no upsells, no feature gates, and no separate add-on purchases.
Key Features
- Plain HTML forms. Write your forms in standard HTML. No proprietary markup, no shortcode nesting, no visual builder lock-in.
- AJAX submission. Forms submit without page reloads. Users get instant feedback.
- Spam protection. Four built-in methods: honeypot fields, Math CAPTCHA, Google reCAPTCHA v3, and Cloudflare Turnstile. Akismet integration if the plugin is active.
- Email notifications. Send notification emails on submission. Auto-responders for confirmation emails. Full email logging with delivery status tracking.
- Submission management. All submissions saved to a custom database table. View, search, edit, reply to, and export submissions from the admin.
- Conditional fields. Show or hide fields based on other field values using
data-show-ifanddata-hide-ifattributes. - Template variables. Dynamic content in forms using
{{user.email}},{{post.post_title}},{{url_params.ref}}syntax. - Webhooks. Send form data to external APIs as JSON or form-encoded POST requests.
- File uploads. Accept file uploads that are stored as WordPress media attachments.
- Fullscreen forms. Typeform-style one-question-at-a-time interface with progress bar and animations.
- Polls. Create polls with multiple options, vote tracking, and results display.
- Gutenberg block. Drop forms into the block editor with a form selector.
- Shortcode. Embed forms anywhere with
[cf_form slug="contact"]. - Accessibility. Automatic ARIA attributes, label association, keyboard navigation, and screen reader support.
- GDPR compliance. WordPress privacy API integration for data export and erasure requests.
- Integrations. Mailchimp (via MC4WP), MailerPress, and Fluent Cart subscriber management.
Requirements
- WordPress 6.0 or higher
- PHP 7.4 or higher
Architecture Overview
Core Forms stores each form as a core-form custom post type. The form’s HTML markup lives in post_content. Form settings and messages are stored as post meta.
Submissions are saved to a custom database table (wp_cf_submissions) rather than as posts, keeping the database lean and queries fast.
The plugin is organized into four layers:
- Core classes (
src/) handle form rendering, submission processing, and data management. - Admin classes (
src/admin/) provide the WordPress admin interface. - Actions (
src/actions/) run after successful submissions (email, auto-responder, Mailchimp, webhooks). - Extensions (
extensions/) add self-contained features like file uploads, fullscreen forms, and submission limits.
Namespace and Prefixes
- PHP namespace:
Core_Forms - Function prefix:
cf_ - Database tables:
wp_cf_submissions,wp_cf_email_logs,wp_cf_submission_replies,wp_cf_polls,wp_cf_poll_votes - Post type:
core-form - Custom capability:
edit_forms - AJAX action:
cf_form_submit - REST namespace:
cf
Credits
Core Forms is built by Gaurav Tiwari. It is based on the HTML Forms plugin by ibericode and is released under the GPL v3 license.