EntryVault for Contact Form 7
·
Capture, manage, search, filter, and export Contact Form 7 submissions from a clean admin dashboard. EntryVault is an independent third-party plugin.
EntryVault for Contact Form 7 is an independent third-party plugin that stores every successful Contact Form 7 submission in custom database tables, gives you a searchable and filterable admin dashboard, lets you view individual entries, and exports to CSV or JSON in one click.
This plugin is not affiliated with, endorsed by, or in any way officially connected with the Contact Form 7 project or its author.
Key Features
- Automatic capture – hooks into
wpcf7_mail_sent; zero configuration needed. - Custom DB tables – scalable two-table design (
wp_cf7_entries+wp_cf7_entry_meta). - Admin dashboard –
WP_List_Table-based entries list with sortable columns, search, form filter, date-range filter, and pagination. - Single entry view – clean detail page showing every submitted field.
- Bulk & single delete – with nonce-protected confirmation.
- CSV export – UTF-8 BOM included for Excel compatibility; respects current filters.
- JSON export – machine-readable; respects current filters.
- CFDB7 import – import previously exported CSV files from the Contact Form CFDB7 plugin, with full duplicate detection.
- REST API –
GET/DELETE /cf7em/v1/entries,GET /cf7em/v1/entries/{id},GET /cf7em/v1/analytics(admin-only). - Analytics page – per-form submission counts with progress bars.
- Settings page – control whether data is preserved or deleted on plugin removal.
- Developer hooks –
do_action('evcf7_after_entry_saved', ...)andapply_filters('evcf7_entry_data', ...). - Performance – indexed DB columns; assets loaded only on plugin pages; batch meta queries.
- Security – nonces on all forms and actions; all inputs sanitised; all outputs escaped; fully prepared SQL queries.
Requirements
- WordPress 6.0 or later
- PHP 7.4 or later
- Contact Form 7 (any recent version)
Developer Hooks
Action – fired after an entry is saved:
do_action( 'evcf7_after_entry_saved', $entry_id, $form_id, $fields, $contact_form );
Filter – modify field data before it is stored:
add_filter( 'evcf7_entry_data', function( $fields, $form_id, $contact_form ) {
unset( $fields['your-hidden-field'] );
return $fields;
}, 10, 3 );
Action – fired after a CFDB7 CSV row is imported:
do_action( 'evcf7_after_cfdb7_import', $entry_id, $cfdb7_id, $fields );
REST API
All endpoints require manage_options capability (administrator).
GET /wp-json/cf7em/v1/entries
GET /wp-json/cf7em/v1/entries/{id}
DELETE /wp-json/cf7em/v1/entries/{id}
GET /wp-json/cf7em/v1/analytics
Supported query parameters for the list endpoint: form_id, date_from, date_to, search, per_page (max 100), page, order (ASC|DESC).
