Documentation
Getting the plugin running.
Install the free plugin
In your WordPress admin go to Plugins → Add New, search for PSC Newsletter, then install and activate. The plugin creates its tables on first load and adds a Newsletter menu.
To install from a zip instead, use Plugins → Add New → Upload Plugin
and choose psc-newsletter.zip.
Requirements
- WordPress 6.1 or newer
- PHP 8.1 or newer
- WP-Cron running, or a real cron job hitting
wp-cron.php
Move from free to Pro
Pro is a separate plugin rather than an add-on, so it installs the same way and replaces the free build. Your subscribers, lists, emails and statistics are untouched — both editions share the same tables and options.
- Buy a licence and download
psc-newsletter-pro.zipfrom your account. - Upload and activate it. The free plugin deactivates itself.
- Paste your key into Newsletter → Settings → Licence.
Keep the free plugin installed but deactivated if you like — it does no harm, and it makes going back trivial.
Activate a licence
A key looks like PSC-A4KM-7QRT-9XZB-2NDW. Enter it in
Newsletter → Settings → Licence and press
Activate. The site is bound to the licence and counts against
its site allowance.
To define the key in code instead — handy when you deploy the same config to
several environments — add this to wp-config.php:
define('PSC_NEWSLETTER_LICENSE_KEY', 'PSC-XXXX-XXXX-XXXX-XXXX');
define('PSC_NEWSLETTER_LICENSE_URL', 'https://your-store.example');
Moving to a new domain? Deactivate the old site from your account first, which frees the slot straight away.
Offline and outages
Validation is cached for seven days, so a slow or unreachable licence server never blocks your admin. If the server cannot be reached the plugin falls back to the last known-good answer and keeps premium features on until the grace period runs out.
Updates
Pro updates arrive through the normal Dashboard → Updates screen, the same as any other plugin. A licence that has lapsed still runs, but stops being offered new versions.
REST API
The API lives under psc-newsletter/v1. Generate a key in
Newsletter → Settings → API and send it as a header.
curl https://example.com/wp-json/psc-newsletter/v1/subscribers \
-H "X-PSC-Api-Key: your-api-key"
GET|POST /subscribers— list and createGET|PUT|DELETE /subscribers/{id}GET|POST /listsand/emailsPOST /emails/{id}/send— queue an email for sendingPOST /subscribe— public, nonce-protected
Hooks
Fire your own code when something happens:
add_action('psc_newsletter_subscriber_confirmed', function ($subscriber) {
// A double opt-in was completed.
});
add_filter('psc_newsletter_email_html', function ($html, $email) {
return str_replace('{{year}}', date('Y'), $html);
}, 10, 2);
Shortcodes
[psc_newsletter_form]— the subscription form[psc_newsletter_count]— confirmed subscriber count[psc_newsletter_archive]— past newsletters (Starter)[psc_newsletter_lock]…[/psc_newsletter_lock]— gated content (Professional)