{"id":308698,"date":"2026-05-13T17:39:04","date_gmt":"2026-05-13T17:39:04","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/form-database-pixellize\/"},"modified":"2026-05-26T18:32:11","modified_gmt":"2026-05-26T18:32:11","slug":"pixellize-form-database","status":"publish","type":"plugin","link":"https:\/\/cy.wordpress.org\/plugins\/pixellize-form-database\/","author":23165924,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"0.3","stable_tag":"0.3","tested":"7.0","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Pixellize Form Database","header_author":"Pixellize","header_description":"Automatically captures and stores form submissions from Contact Form 7, WPForms, and Ninja Forms into a unified database table.","assets_banners_color":"ccc0e0","last_updated":"2026-05-26 18:32:11","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/pixellize.io","rating":0,"author_block_rating":0,"active_installs":0,"downloads":129,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"0.1":{"tag":"0.1","author":"shubhamralli91","date":"2026-05-13 17:38:23"},"0.2":{"tag":"0.2","author":"shubhamralli91","date":"2026-05-20 18:24:42"},"0.3":{"tag":"0.3","author":"shubhamralli91","date":"2026-05-26 18:32:11"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3531266,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3531266,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3531266,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3531266,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["0.1","0.2","0.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3549616,"resolution":"1","location":"assets","locale":"","width":2880,"height":1414},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3549616,"resolution":"2","location":"assets","locale":"","width":2880,"height":1847},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3549616,"resolution":"3","location":"assets","locale":"","width":2880,"height":1653},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3549616,"resolution":"4","location":"assets","locale":"","width":2880,"height":1925},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3549616,"resolution":"5","location":"assets","locale":"","width":2880,"height":1911}},"screenshots":[]},"plugin_section":[],"plugin_tags":[1152,153,601,9955,130711],"plugin_category":[42,59],"plugin_contributors":[260440],"plugin_business_model":[],"class_list":["post-308698","plugin","type-plugin","status-publish","hentry","plugin_tags-contact-form-7","plugin_tags-database","plugin_tags-forms","plugin_tags-ninja-forms","plugin_tags-wpforms","plugin_category-contact-forms","plugin_category-utilities-and-tools","plugin_contributors-shubhamralli91","plugin_committers-shubhamralli91"],"banners":{"banner":"https:\/\/ps.w.org\/pixellize-form-database\/assets\/banner-772x250.png?rev=3531266","banner_2x":"https:\/\/ps.w.org\/pixellize-form-database\/assets\/banner-1544x500.png?rev=3531266","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/pixellize-form-database\/assets\/icon-128x128.png?rev=3531266","icon_2x":"https:\/\/ps.w.org\/pixellize-form-database\/assets\/icon-256x256.png?rev=3531266","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/pixellize-form-database\/assets\/screenshot-1.png?rev=3549616","caption":""},{"src":"https:\/\/ps.w.org\/pixellize-form-database\/assets\/screenshot-2.png?rev=3549616","caption":""},{"src":"https:\/\/ps.w.org\/pixellize-form-database\/assets\/screenshot-3.png?rev=3549616","caption":""},{"src":"https:\/\/ps.w.org\/pixellize-form-database\/assets\/screenshot-4.png?rev=3549616","caption":""},{"src":"https:\/\/ps.w.org\/pixellize-form-database\/assets\/screenshot-5.png?rev=3549616","caption":""}],"raw_content":"<!--section=description-->\n<p>Pixellize Form Database automatically captures every submission from Contact Form 7, WPForms, and Ninja Forms and stores it in a dedicated database table. Browse, search, and manage all entries directly from the WordPress admin dashboard \u2014 no third-party services required.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li>Auto-detects Contact Form 7, WPForms, and Ninja Forms<\/li>\n<li>Stores all form submissions in a custom database table<\/li>\n<li>Admin dashboard with a forms overview and per-form submission tables<\/li>\n<li>Searchable and sortable entries using the native WordPress list table<\/li>\n<li>Filter submissions by month using the native date dropdown<\/li>\n<li>Export filtered submissions as a CSV file<\/li>\n<li>Bulk delete submissions<\/li>\n<li>Detailed entry view showing every submitted field<\/li>\n<li>Addons screen to download, upload (.zip), activate, deactivate, and delete extensions<\/li>\n<li>People addon (bundled) that groups every sender by email, with all their submissions in one place<\/li>\n<li>Automatic spam detection that scores each submission against built-in rules<\/li>\n<li>All \/ Valid \/ Spam filter tabs with one-click \"Mark as Spam\" and \"Not Spam\"<\/li>\n<li>Configurable spam threshold and custom blocked-word list<\/li>\n<li>Per-plugin enable\/disable tracking toggles in Settings<\/li>\n<li>Screen Options to control how many submissions appear per page<\/li>\n<\/ul>\n\n<h4>Supported Form Plugins<\/h4>\n\n<ul>\n<li>Contact Form 7 (wpcf7_before_send_mail hook)<\/li>\n<li>WPForms (wpforms_process_complete hook)<\/li>\n<li>Ninja Forms (ninja_forms_after_submission hook)<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>pixellize-form-database<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu.<\/li>\n<li>Click <strong>Form Database<\/strong> in the admin sidebar to view submissions.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20work%20with%20wpforms%20lite%3F\"><h3>Does this work with WPForms Lite?<\/h3><\/dt>\n<dd><p>Yes. The plugin hooks into <code>wpforms_process_complete<\/code>, which fires in both the free and paid versions of WPForms.<\/p><\/dd>\n<dt id=\"does%20this%20work%20with%20ninja%20forms%20free%20version%3F\"><h3>Does this work with Ninja Forms free version?<\/h3><\/dt>\n<dd><p>Yes. The plugin hooks into <code>ninja_forms_after_submission<\/code>, which is available in the free version of Ninja Forms.<\/p><\/dd>\n<dt id=\"will%20existing%20form%20submissions%20be%20captured%20retroactively%3F\"><h3>Will existing form submissions be captured retroactively?<\/h3><\/dt>\n<dd><p>No. Only submissions made after the plugin is activated are stored.<\/p><\/dd>\n<dt id=\"can%20i%20disable%20tracking%20for%20a%20specific%20plugin%3F\"><h3>Can I disable tracking for a specific plugin?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>Form Database \u2192 Settings<\/strong> and toggle tracking on or off for each detected form plugin individually.<\/p><\/dd>\n<dt id=\"how%20does%20spam%20detection%20work%3F\"><h3>How does spam detection work?<\/h3><\/dt>\n<dd><p>Each submission is scored against offline rules as it arrives: number of links, blocked words, throwaway email domains, the same IP flooding the form, and repeat senders. When the score meets your threshold (default 60), the entry is flagged as spam and moved to the Spam tab. No data is sent to any third-party service.<\/p><\/dd>\n<dt id=\"a%20real%20submission%20was%20marked%20as%20spam.%20can%20i%20fix%20it%3F\"><h3>A real submission was marked as spam. Can I fix it?<\/h3><\/dt>\n<dd><p>Yes. Open the Spam tab, find the entry, and click \"Not Spam\" to move it back to Valid. You can also lower or raise the threshold and add your own blocked words in Settings.<\/p><\/dd>\n<dt id=\"what%20happens%20when%20i%20delete%20the%20plugin%3F\"><h3>What happens when I delete the plugin?<\/h3><\/dt>\n<dd><p>The custom database table and all stored settings are removed on uninstall.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>0.3<\/h4>\n\n<ul>\n<li>New: full-width Addons screen with a card grid of available addons (each with a download link) plus a zip uploader. Once an addon's zip is uploaded, its download link is replaced by Activate \/ Active controls; addons can be activated, deactivated, or deleted. Active addons load on every request. Addon files are stored outside the plugin folder (in uploads, with direct web access blocked) so they survive plugin updates. The available list is filterable via pfdb_available_addons. Upload and management require the manage_options capability and are nonce-protected.<\/li>\n<li>New: People is delivered as a bundled addon. Install it from the Addons screen (Download, then upload the zip, then Activate) to add a People screen that groups every sender by email and lists all their submissions across all forms; click a person (name or email), then any submission, to open its Entry Detail. Includes bulk-select and delete, excludes spam, and shows the most recent non-empty name for each email.<\/li>\n<li>New: built-in heuristic spam detection scores every submission as it arrives (links, blocked words, throwaway email domains, IP flooding, repeat senders), with hard signals that flag on their own and soft signals that need a combination.<\/li>\n<li>New: All \/ Valid \/ Spam filter tabs, one-click \"Mark as Spam\" \/ \"Not Spam\", a Spam column on the forms overview, and a per-entry spam score and reason.<\/li>\n<li>New: Settings for enabling detection, the spam threshold, and a custom blocked-word list.<\/li>\n<li>New: delivery status per submission. Failed notification emails record the real reason (from WordPress core's wp_mail_failed hook, e.g. \"SMTP connect() failed\") across Contact Form 7, WPForms, and Ninja Forms, shown on the Entry Detail screen.<\/li>\n<li>New: uploaded files are shown as cards on the Entry Detail screen, with image thumbnails, PDF \/ document icons, type badges, and links to the original upload.<\/li>\n<li>Improved: redesigned Entry Detail (status pill, submitted-fields list, details sidebar with source \/ date \/ IP) and Settings screens, with clickable email and URL field values.<\/li>\n<li>Improved: the Source column on the forms overview is hidden when only one form plugin has data.<\/li>\n<li>Improved: submission, IP, and spam \/ delivery status are stored per entry; existing tables upgrade automatically.<\/li>\n<li>Security: CSV export neutralizes spreadsheet formula injection.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Support for Contact Form 7, WPForms, and Ninja Forms.<\/li>\n<li>Admin submissions dashboard with search, sort, and month filter.<\/li>\n<li>CSV export with active search and date filters applied.<\/li>\n<li>Per-plugin tracking toggles in Settings.<\/li>\n<li>Screen Options for submissions per page.<\/li>\n<\/ul>","raw_excerpt":"Automatically captures and stores form submissions from Contact Form 7, WPForms, and Ninja Forms into a unified admin database.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/308698","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=308698"}],"author":[{"embeddable":true,"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/shubhamralli91"}],"wp:attachment":[{"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=308698"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=308698"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=308698"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=308698"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=308698"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/cy.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=308698"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}