Notifications Tab

Two ways to stay informed without opening the dashboard: email digests on a schedule, and webhook alerts when traffic gets suspicious.
URL: wp-admin/admin.php?page=wkcft-settings&tab=wkcft_notifications
Two Sections
| Feature | Purpose | Detail Page |
|---|---|---|
| Email Digest | Periodic summary to your inbox | Email Digest |
| Webhooks | Real-time alert when block rate spikes | Webhooks |
Quick Settings
Email Digest
| Field | Key | Default |
|---|---|---|
| Enabled | enabled (inside wkcft_email_digest) | no |
| Frequency | frequency | weekly |
| Recipient Email | recipient_email | empty |
Click Send Test Digest to fire a sample email to the recipient right away.
Webhooks
| Field | Key | Default |
|---|---|---|
| Enabled | enabled (inside wkcft_notifications) | no |
| Webhook URL | webhook_url | empty |
| Slack Webhook URL | slack_webhook_url | empty |
| Threshold per hour | threshold_per_hour | 50 |
| Throttle (minutes) | throttle_minutes | 30 |
Click Send Test Webhook to fire a sample payload to the configured endpoint.
Why Use Both
- Email Digest tells you "how is the plugin doing overall" — slow-changing metrics, trends, top forms
- Webhooks tell you "something is happening right now" — attack spikes, sudden form abuse
Most stores enable both — email digest weekly, webhook for real-time.
Where Data Comes From
Both features read from the wp_wkcft_log table populated by the Logger.
| Metric | How It Is Computed |
|---|---|
| Total checks | COUNT(*) in date range |
| Pass / Fail | passed column (0 or 1) |
| Top forms | GROUP BY form ORDER BY COUNT DESC LIMIT 5 |
| Top IPs | GROUP BY ip WHERE passed=0 ORDER BY COUNT DESC LIMIT 5 |
| Blocks per hour | COUNT(*) WHERE passed=0 AND created_at > NOW() - 1 HOUR |
Cron Schedules
Both features run on WP-Cron.
| Hook | Recurrence | Fires |
|---|---|---|
wkcft_send_digest | daily / wkcft_weekly / wkcft_monthly | Compiles + sends email digest |
wkcft_check_notifications | hourly | Evaluates webhook trigger conditions |
WP-Cron needs traffic
WP-Cron only fires when someone visits the site. On low-traffic sites, set up a real system cron to hit wp-cron.php every 5 minutes. See WP-Cron setup in Troubleshooting.
Privacy Note
- Emails send aggregated counts only — no individual form submissions, no user data
- Webhook payload includes blocked IPs (raw) and top forms (slug only)
Related Pages
- Email Digest — Full email digest configuration
- Webhooks — Full webhook configuration
- Analytics — Same data, viewed in-dashboard
