Dprime Newsletter v1.3.0 Pro

Newsletter manager for the Dprime ecosystem. Subscribers, campaigns, GDPR tools, and sending via your existing WordPress mail backend.

Installation

  1. Make sure Dprime Core is installed and your site is connected to an active Dprime subscription.
  2. Download Dprime Newsletter from my.dprime.au and install via Plugins > Add New > Upload Plugin.
  3. Activate the plugin. The setup wizard appears on first activation. Walk through 5 steps to configure sending preferences.
  4. Open Dprime > Newsletter to access the full admin.

Subscribers tab

Lists every subscriber with their status, source, and date added. Filter by status using the pills at the top (All, Subscribed, Pending, Unsubscribed, Bounced). Each row has edit, view details, and delete actions. Bulk delete works via the checkbox column. The export button downloads a CSV of the currently filtered view.

CSV import

Use the Import CSV tab to bulk-add subscribers. Expected column headers: email, first_name, last_name, status. Email is the only required column. Status defaults to subscribed if omitted. If an email already exists in the list, the import updates the existing record rather than creating a duplicate.

email,first_name,last_name,status
alice@example.com,Alice,Smith,subscribed
bob@example.com,Bob,,subscribed
carol@example.com,Carol,Jones,pending

Save your CSV with UTF-8 encoding. Quote any fields that contain commas.

Shortcode

Embed a subscribe form on any page or post:

[dprime_newsletter]
AttributeDefaultPurpose
titleemptyHeading text above the form
descriptionemptySubtext below the heading
buttonSubscribeSubmit button label
namefalseSet to "true" to show a first name field

The form submits via AJAX. No page reload. With GDPR mode on, new signups become pending and receive a confirmation email before being activated.

Settings

SettingWhat it does
From nameDisplay name shown in the From field of outgoing emails
From emailSender address. Use a domain you control to avoid spam filters.
Reply-to emailWhere replies go. Can differ from From email.
GDPR modeEnables double opt-in, consent timestamps, and a privacy notice on the signup form

Subscriber statuses

StatusMeaningReceives campaigns
SubscribedActive subscriberYes
PendingSigned up, awaiting double opt-in confirmationNo
UnsubscribedOpted out. Record kept to prevent re-add.No
BouncedHard bounce on a campaign sendNo

GDPR tools

  • Double opt-in. When GDPR mode is on, new signups receive a confirmation email and stay in Pending status until they click the link.
  • Unsubscribe links. One-click unsubscribe URLs are appended to campaign footers automatically when the auto_unsubscribe_footer setting is enabled.
  • WordPress privacy tools. Dprime Newsletter registers a personal data exporter and eraser under WordPress's built-in Tools > Privacy screen. The exporter returns all subscriber fields; the eraser hard-deletes the record.

FAQ

What mail backend does this use?

Standard WordPress wp_mail. Any SMTP plugin you have installed (FluentSMTP, WP Mail SMTP, Postmark, etc.) is automatically used. No additional configuration is needed in Newsletter.

What happens if my Dprime subscription lapses?

The plugin enters a 30-day grace period. During grace all features keep working but a warning banner appears on every Newsletter page. After 30 days the plugin stops sending until you renew. Subscriber data is always preserved.

Can I migrate subscribers from Mailchimp or another service?

Yes. Export a CSV from your current provider, map the columns to email, first_name, last_name, and status, then import via the Import CSV tab.

Override classes

.dp-nl-page            { /* outer page wrapper */ }
.dp-nl-list            { /* subscriber list table */ }
.dp-nl-sub-row         { /* individual subscriber row */ }
.dp-nl-badge           { /* status badge */ }
.dp-nl-filter-pills    { /* status filter pill row */ }
.dp-nl-filter-pill     { }
.dp-nl-filter-pill.is-active { }
.dp-nl-import-zone     { /* CSV import zone */ }
.dp-nl-code            { /* code block */ }
.dp-nl-attr-table      { /* shortcode attribute table */ }
.dp-nl-shortcode-block { /* shortcode display row */ }