DK WPForms Data Docs

DK WPForms Data imports selected WPForms notification emails from WP Mail Logging, stores their form fields as structured JSON, and provides an admin page for reviewing the latest entries. If you still need help or would like to request a feature or enhancement, please email me.

What the Plugin Does

DK WPForms Data reads WPForms notification emails recorded in the WP Mail Logging database table. For each configured email subject, it imports new messages into a dedicated WordPress table and converts the WPForms field labels and values into structured JSON.

The plugin does not read the WPForms Pro entries database and does not intercept a submission directly. WPForms must send an email notification, and WP Mail Logging must record that message, before DK WPForms Data can import it.

Requirements and Initial Setup

WPForms Lite, WP Mail Logging, and DK Base Plugin must be installed and active. Configure the applicable WPForms forms to send email notifications and make sure WP Mail Logging is recording outgoing mail.

  1. Submit each applicable form at least once so its notification appears in WP Mail Logging.
  2. In WordPress Admin, open DK Plugins > WPForms Data.
  3. Under WPForms Subjects to Import, select every notification subject the plugin should track.
  4. Select a Sync Interval and save the settings.
  5. Select Sync Now to import matching logged messages immediately.

An admin notice remains visible until at least one subject is configured.

Automatic and Manual Subjects

The subject selector is built from distinct WP Mail Logging messages identified as WPForms notifications. The subject must match the logged email subject exactly.

Use Manual Subjects when a notification has not been logged yet or when you already know the exact subject to track. Select Add Subject, enter the subject, and save. If the same subject later appears in WP Mail Logging, the plugin treats it as an automatically discovered subject. Use Remove to stop retaining a manual subject.

Syncing Entries

The Sync Interval list ranges from every 15 minutes to every 365 days. WordPress cron runs scheduled work when the site receives traffic, so a sync can occur later than the exact interval on a low-traffic site.

Sync Now runs the same import immediately and reports the number of new entries. Each sync requests logged messages with a configured subject and timestamps from Last Sync up to, but excluding, the start of the current run. Same-second and later messages remain eligible for the next run. Database failures roll back the batch and retain Last Sync for retry; successful empty runs report zero and advance Last Sync to the run start.

Changing the subject selection does not rewind the last sync time. A newly selected subject therefore begins importing messages newer than the current last sync value.

Reviewing Imported Data

Open DK Plugins > WPForms Data Entries to see the 100 most recent imported records, ordered by the original email timestamp. Each row shows its ID, email timestamp, subject, import time, and a View Data control.

Select View Data to expand the parsed form fields as formatted JSON. HTML is removed from field values, entities are decoded, and whitespace is normalized before the value is stored.

Stored Data

Imported records are stored in the WordPress database table named with the site table prefix followed by dk_forms_data. Each record contains the logged message timestamp, subject, JSON field data, and creation time.

Deactivating or deleting the plugin does not remove the settings or imported data table. The current version does not provide a deletion or export control, so use normal database administration and backup procedures if those operations are required.

Troubleshooting

  • No subjects are listed: Confirm WPForms sent a notification, WP Mail Logging recorded it, and the logged message is a WPForms email. You can add the exact subject under Manual Subjects in the meantime.
  • Sync fails: Check for database errors and retry. If no subjects are selected, select at least one discovered subject or add a manual subject, then save the settings before syncing.
  • A message was not imported: Confirm its subject exactly matches a configured subject and its logged timestamp is at or after Last Sync and before the current run began.
  • An entry has no field data: The parser expects the standard WPForms notification table containing field-name and field-value cells. A customized notification layout may not contain that structure.
  • A scheduled sync is late: WordPress cron depends on site requests and can run late when traffic is low.