Installation & Activation
After activation, two database tables are created automatically and the WP-Cron digest job is scheduled.
Step 1 — Upload
Plugins → Add New → Upload Plugin. Select wp-content-subscriptions.zip, click Install Now.
Step 2 — Activate
Click Activate. Creates wcsm_subscribers and wcsm_subscriptions tables and schedules digest cron.
Step 3 — Settings
Go to Subscriptions → Settings. Set From Name, From Email, digest frequency (Daily/Weekly/Biweekly), and batch size.
Step 4 — Add Form
Add [subscription_form] to any page. Readers see category checkboxes and receive a double opt-in confirmation email.
How It Works
Visitor Fills the Form
Enters email, optionally name, ticks the categories they want. Clicks Subscribe.
Double Opt-In Email Sent
A confirmation email with a unique ?wcsm_confirm=TOKEN link is sent. Token expires in 24 hours.
Subscriber Confirms
Clicking the link sets their status from Pending to Active. They see a success message on the subscription page.
Digest Emails Sent Automatically
WP-Cron fires on your schedule. New posts are batched and emailed to all active subscribers.
One-Click Unsubscribe
Every digest email contains a unique ?wcsm_unsubscribe=TOKEN link. No login required to opt out.
Shortcode & Settings
Subscription Form
Renders the email subscription form with category checkboxes, double opt-in flow, and status messages.
[subscription_form] [subscription_form title="Join Our Newsletter" show_name="yes" categories="3,5,12"]
| Attribute | Default | Description |
|---|---|---|
title | "Subscribe for Updates" | Heading shown above the form. |
show_name | yes | Show or hide the optional name field. Use no for email-only. |
categories | all non-empty | Comma-separated category IDs to show as checkbox options. |
Settings Panel
| Setting | Default | Description |
|---|---|---|
| From Name | Site name | Sender name in all digest and confirmation emails. |
| From Email | Admin email | Must match your domain to avoid spam filters. |
| Digest Frequency | Weekly | Daily / Weekly / Every Two Weeks. Registers custom WP-Cron schedules. |
| Batch Size | 50 | Emails per cron run. Keep ≤100 on shared hosting to avoid timeouts. |
| External RSS URL | empty | Appends up to 5 items from this RSS feed to every digest email. |
REST API
GET /wp-json/wcsm/v1/subscribers ?status=active&per_page=50 GET /wp-json/wcsm/v1/stats DEL /wp-json/wcsm/v1/subscribers/{email}