{"id":360005,"date":"2026-09-08T21:41:48","date_gmt":"2026-09-08T21:41:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/contact-forms-by-pavel-silinskii\/"},"modified":"2026-09-08T21:41:28","modified_gmt":"2026-09-08T21:41:28","slug":"pavel-silinskii-contact-forms","status":"publish","type":"plugin","link":"https:\/\/pe.wordpress.org\/plugins\/pavel-silinskii-contact-forms\/","author":23556326,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.1","requires":"5.9","requires_php":"8.0","requires_plugins":null,"header_name":"Pavel Silinskii Contact Forms","header_author":"Pavel Silinskii","header_description":"Advanced contact forms with database storage, email notifications, REST API and CSV export.","assets_banners_color":"","last_updated":"2026-09-08 21:41:28","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/pavelsilinskiiwork\/advanced-contact-forms","header_author_uri":"https:\/\/linkedin.com\/in\/pavel-silinskii","rating":0,"author_block_rating":0,"active_installs":0,"downloads":60,"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":"pavelsilinskii","date":"2026-09-08 21:41:28","revision":3687319}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"Admin \u2014 Forms list with submission counts, shortcodes, and quick actions.","2":"Admin \u2014 Drag-and-drop form editor.","3":"Frontend \u2014 Contact form rendered by the shortcode.","4":"Admin \u2014 Submissions view with CSV export."}},"plugin_section":[],"plugin_tags":[358,13410,1203,2253,23853],"plugin_category":[],"plugin_contributors":[279784],"plugin_business_model":[],"class_list":["post-360005","plugin","type-plugin","status-publish","hentry","plugin_tags-contact-form","plugin_tags-csv-export","plugin_tags-email-notifications","plugin_tags-form-builder","plugin_tags-rest-api","plugin_contributors-pavelsilinskii","plugin_committers-pavelsilinskii"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/pavel-silinskii-contact-forms.svg","icon_2x":false,"generated":true},"screenshots":[],"raw_content":"<!--section=description-->\n<p>Pavel Silinskii Contact Forms lets you build and manage contact forms without writing any code. Every submission is stored in the WordPress database, so nothing is lost if an email notification fails to arrive.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>Visual Form Builder<\/strong> \u2014 drag-and-drop interface to create forms without coding<\/li>\n<li><strong>7 Field Types<\/strong> \u2014 Text, Email, Phone, Textarea, Select, Checkbox, Radio<\/li>\n<li><strong>Database Storage<\/strong> \u2014 all submissions saved to the WordPress database<\/li>\n<li><strong>Email Notifications<\/strong> \u2014 automatic email sent on every form submission<\/li>\n<li><strong>REST API<\/strong> \u2014 full API for headless WordPress and external integrations<\/li>\n<li><strong>CSV Export<\/strong> \u2014 export all submissions to CSV with one click<\/li>\n<li><strong>Shortcode<\/strong> \u2014 embed forms anywhere with <code>[pavel_silinskii_contact_form id=\"1\"]<\/code><\/li>\n<li><strong>Spam Protection<\/strong> \u2014 built-in honeypot anti-spam system<\/li>\n<li><strong>Admin Panel<\/strong> \u2014 clean, intuitive interface for managing forms and submissions<\/li>\n<li><strong>Multiple Forms<\/strong> \u2014 create unlimited forms for different purposes<\/li>\n<li><strong>Active\/Inactive<\/strong> \u2014 enable or disable forms without deleting them<\/li>\n<\/ul>\n\n<h4>REST API<\/h4>\n\n<p>The plugin registers a REST API namespace at <code>pavelsilinskii-cf\/v1<\/code> with endpoints to list forms, fetch a single form's fields, submit a form, and (for admins) read submissions.<\/p>\n\n<h4>Hooks &amp; Filters<\/h4>\n\n<pre><code>do_action('pavel_silinskii_contact_forms_form_submitted', $submission_id, $form_id, $data);\n\napply_filters('pavel_silinskii_contact_forms_form_fields', $fields, $form_id);\n\napply_filters('pavel_silinskii_contact_forms_submission_data', $data, $form_id);\n<\/code><\/pre>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>pavel-silinskii-contact-forms<\/code> folder to <code>\/wp-content\/plugins\/<\/code>, or install the plugin directly through the WordPress Plugins screen.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress.<\/li>\n<li>Go to <strong>Contact Forms<\/strong> in the admin menu to create your first form.<\/li>\n<li>Add fields, configure the notification email, and click <strong>Save Form<\/strong>.<\/li>\n<li>Copy the shortcode (e.g. <code>[pavel_silinskii_contact_form id=\"1\"]<\/code>) and paste it into any page or post.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20embed%20a%20form%3F\"><h3>How do I embed a form?<\/h3><\/dt>\n<dd><p>Use the shortcode <code>[pavel_silinskii_contact_form id=\"1\"]<\/code> on any page, post, or widget, replacing <code>1<\/code> with your form's ID.<\/p><\/dd>\n<dt id=\"where%20are%20submissions%20stored%3F\"><h3>Where are submissions stored?<\/h3><\/dt>\n<dd><p>Submissions are stored in dedicated database tables (<code>{prefix}pavel_silinskii_contact_forms_forms<\/code> and <code>{prefix}pavel_silinskii_contact_forms_submissions<\/code>), separate from WordPress core tables.<\/p><\/dd>\n<dt id=\"can%20i%20export%20submissions%3F\"><h3>Can I export submissions?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>Contact Forms \u2192 All Forms<\/strong> and click the <strong>CSV<\/strong> button next to any form with submissions.<\/p><\/dd>\n<dt id=\"does%20it%20protect%20against%20spam%3F\"><h3>Does it protect against spam?<\/h3><\/dt>\n<dd><p>Yes, a honeypot field is added to every form. It's invisible to real visitors but catches bots that auto-fill every field. Honeypot submissions are silently discarded. This can be toggled in <strong>Contact Forms \u2192 Settings<\/strong>.<\/p><\/dd>\n<dt id=\"is%20there%20a%20rest%20api%3F\"><h3>Is there a REST API?<\/h3><\/dt>\n<dd><p>Yes. See the Description tab for the endpoint list. The <code>pavelsilinskii-cf\/v1<\/code> namespace exposes endpoints to list forms, read a form's fields, submit a form, and (for admins) read submissions.<\/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>Visual drag-and-drop form builder.<\/li>\n<li>7 field types.<\/li>\n<li>Database storage for submissions.<\/li>\n<li>Email notifications.<\/li>\n<li>REST API with 4 endpoints.<\/li>\n<li>CSV export.<\/li>\n<li>Shortcode <code>[pavel_silinskii_contact_form id=\"X\"]<\/code>.<\/li>\n<li>Honeypot spam protection.<\/li>\n<li>Admin panel with forms list and editor.<\/li>\n<\/ul>","raw_excerpt":"A powerful contact form plugin with a drag-and-drop builder, database storage, email notifications, REST API, and CSV export of submissions.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/360005","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=360005"}],"author":[{"embeddable":true,"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/pavelsilinskii"}],"wp:attachment":[{"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=360005"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=360005"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=360005"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=360005"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=360005"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/pe.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=360005"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}