Build a contact form plugin: a Contact Form 7 alternative
· 5 min read
Contact Form 7 is installed on more than ten million sites, and most of them use perhaps a tenth of it. A name field, an email field, a message box, something to stop the spam, and a notification when someone writes in. That is the job.
The rest of Contact Form 7 — the tag syntax, the integrations, the years of accumulated options — is why it is worth ten million installs and also why a simple form arrives carrying a settings screen you did not ask for.
This is how to generate a plugin that does the part you actually use, in code you own outright.
What one build gives you
- A [contact_form] shortcode you can put on any page or post
- Name, email and message fields, validated on the server rather than only in the browser
- Honeypot spam protection, with no third-party service and no CAPTCHA
- Email notification to an address you set on a proper WordPress settings page
- Nonce verification, sanitised input and escaped output as standard
What it does not do
- A drag-and-drop form builder — the fields are set in the prompt, not in a UI
- Conditional logic, multi-step forms or file uploads (ask for those separately and they can be added)
- Akismet, reCAPTCHA or Turnstile integration
- CRM and mailing-list integrations
- Payment collection
Contact Form 7 does these. This covers the part most sites use.
The prompt
Loads into the composer so you can edit it first. Nothing is built, and nothing is charged, until you send it.
Build a contact form plugin with a [contact_form] shortcode. Fields for name, email and message, server-side validation, honeypot spam protection, and an email notification to an address set on an admin settings page.What you are building
A single plugin, a handful of PHP files, that registers a shortcode you drop on any page. Submissions are validated on the server, checked against a honeypot, and emailed to an address you set in the WordPress admin.
It is deliberately narrow. A form that works and that you can read end to end is more useful than a form builder you have to learn.
Why generate it rather than install it
Three reasons, none of them "AI is exciting".
It is yours. Ordinary PHP with no licence key, no upsell screen, and no dependency on anyone staying in business. You can read every line, change any of it, and ship it.
It carries no weight you are not using. A plugin built for one form loads the code for one form.
And it is shaped like your site. Ask for the field you actually need — a booking reference, a job title, a preferred callback time — and it is in the first version instead of being bolted on with a second plugin.
How to run it
Paste the prompt below into Steem and let it build. It takes a couple of minutes and around 55 credits, which the free plan covers.
When it finishes, open the Preview tab. The plugin boots in a real WordPress instance in your browser — submit the form, check the validation, look at the settings screen. Nothing has touched a live site yet.
Then download the ZIP and install it through Plugins → Add New → Upload, exactly as you would any other plugin.
Changing it afterwards
The build is a conversation, not a single shot. Ask for a phone field, a redirect after submission, or a copy of each message stored in the database, and the next turn edits the plugin you already have rather than starting again.
That is the part worth knowing: refinement carries the existing files into the next build, so asking for one change gets you one change.
Questions
- Do I own the code it generates?
- Yes. It is ordinary PHP with no licence key and no runtime dependency on Steem. You can modify it, ship it, or sell it.
- Will it conflict with Contact Form 7 if I already have it installed?
- No. It uses its own shortcode and its own option names, so the two can sit side by side while you migrate.
- Can I add a field after it is built?
- Yes. Ask in the same conversation and the next build edits the existing plugin rather than starting over.
- How much does it cost to generate?
- Around 55 credits for a plugin built and refined to a finished state. The free plan includes 75 credits a month, which covers one.
The prompt
Loads into the composer so you can edit it first. Nothing is built, and nothing is charged, until you send it.
Build a contact form plugin with a [contact_form] shortcode. Fields for name, email and message, server-side validation, honeypot spam protection, and an email notification to an address set on an admin settings page.
Steem