I just published my first WordPress plugin to the official directory.
Here's what I built and what I learned along the way.
What the plugin does
Pavel Silinskii Contact Forms is a contact form builder with:
- Drag-and-drop form editor
- 7 field types (text, email, phone, textarea, select, checkbox, radio)
- All submissions stored in the WordPress database
- Email notifications on every submission
- REST API with 4 endpoints
- CSV export of submissions
- Honeypot spam protection
What I learned from the review process
WordPress.org has a volunteer review team that checks every plugin
before approval. They caught two issues in my submission:
My namespace was
ACF\which conflicted with Advanced Custom Fields
(6M+ installs). Always use unique prefixes.Plugin name was too generic — "Contact Forms" alone isn't distinctive
enough. Author name must be at the beginning.
Both issues were fixed and the plugin was approved.
Try it
Plugin: https://wordpress.org/plugins/pavel-silinskii-contact-forms/
GitHub: https://github.com/pavelsilinskiiwork/advanced-contact-forms
Would love feedback from the community.
Top comments (1)
Great insights on building API endpoints for forms! Handling nested JSON payloads and converting file uploads to Base64 without crashing server timeouts is always a tough nut to crack on WordPress. That’s actually a key reason tools like Contact Form to Any API exist to abstract that payload mapping and token authentication layer so developers don't have to keep re-inventing the backend logic.