Paid Memberships Pro - Extra Expiration Warning Emails Add On WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA
Customize the frequency and time your members receive an expiration warning email in Paid Memberships Pro
Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/strangerstudios/pmpro-extra-expiration-warning-emails/archive/refs/heads/dev.zipSend more than one customized "membership expiration warning" email to users with PMPro.
Description
By default, Paid Memberships Pro will send members an email notice 7 days prior to their expiration date. Use this add on to send notifications at additional intervals. It also allows you to set a custom email message for each additional interval (i.e. send a custom message at the 30 day and 60 days from expiration point).
Installation
- Upload the
pmpro-extra-expiration-warning-emailsdirectory to the/wp-content/plugins/directory of your site. - Activate the plugin through the
Pluginsmenu in WordPress. - Update the $emails array to change when the additional emails are sent and to define a custom template file, if desired.
Frequently Asked Questions
I found a bug in the plugin.
Please post it in the issues section of GitHub and we'll fix it as soon as we can. Thanks for helping. https://github.com/strangerstudios/pmpro-extra-expiration-warning-emails/issues
I need help installing, configuring, or customizing the plugin.
Please visit our premium support site at http://www.paidmembershipspro.com for more documentation and our support forums.
Changelog
1.0.3 - 2026-05-15
- BUG FIX/ENHANCEMENT: The admin Bcc email now falls back to the bare
admin_emailvalue when no WordPress user is associated with it, instead of being silently dropped. #41 (@gazer22) - BUG FIX: Fixed a PHP warning and malformed
Bcc:header that occurred when the site'sadmin_emailwas not associated with a WordPress user. #41 (@gazer22) - BUG FIX: Fixed an issue in multisite environments where the same
membership_idon different subsites could share a single notice-sent timestamp, causing some subsites to skip expiration notices that should have been sent. Notice tracking is now scoped per-site viaupdate_user_option(), with legacy timestamps migrated automatically. #42 (@dparker1005)
1.0.2 - 2025-11-19
- ENHANCEMENT: Added the !!renew_url!! email template variable to all emails sent by this plugin. #38 (@dparker1005)
- ENHANCEMENT: Updated the email flow for sending
membership_expiringemails to use the core PMPro email sending functions to ensure compatibility with future PMPro versions. #38 (@dparker1005)
1.0.1 - 2025-07-07
- BUG FIX/ENHANCEMENT: Added support for Action Scheduler in PMPro v3.5+. #36 (@dalemugford)
1.0 - 2023-12-20
- ENHANCEMENT: Updated how the plugin tracks which emails have already been sent. This should fix issues where emails would not be sent out consistently, but may cause users to receive an additional email immediately upon upgrade.
- ENHANCEMENT: Added a new constant
PMPROEEWE_DEBUGto allow setting an email address to send log data to or to have the log data printed to a file. #33 (@andrewlimaza, @dparker1005) - ENHANCEMENT: Now passing the user object to the
pmproeewe_send_reminder_to_userfilter. #25 (@contemplate) - ENHANCEMENT: Added localization support.
- ENHANCEMENT: Now tracking the time that notifications are sent to more accurately send future notifications.
- BUG FIX/ENHANCEMENT: Now compatible with PMPro Multiple Memberships Per User. #30 (@dparker1005)
- REFACTOR: Now using
get_option()instead ofpmpro_getOption(). #32 (@dwanjuki)
.4
- BUG FIX: Would sometimes allow the run date/time to be incorrectly formatted.
- BUG FIX: Would sometimes save the wrong date in user meta, leading to extra emails being sent out.
- BUG FIX/ENHANCEMENT: If running a current version of PMPro, will use the pmpro_cleanup_memberships_users_table() function before finding expiring emails to avoid certain issues caused by errors in the memberships_users table.
.3.7
- BUG: Tweaked SQL query to fix some cases where warnings weren't being emailed out.
.3.6
- BUG: Fixed bug where members were receiving warnings multiple days in a row.
- ENHANCEMENT: Using 'pmproeewe_test=1' and 'pmproeewe_test_date=YYYY-MM-DD' (for '$today' variable) in URL (as GET request) to test data retrieval and not send warning messages (but log them to error_log() if WP_DEBUG is defined and true)
.3.5
- BUG: Another fix to the query to find expiring and exlcude users who already received an email recently.
.3.4
- BUG: Didn't correctly exclude all previously notified users
.3.3
- BUG: The SQL query to find expiring members was including some users who had already received an email.
- BUG: Corrected the pmproeewe_add_admin_as_bcc filter to _bcc vs _cc.
.3.2
- BUG: Fixed bug where $expiring_soon array was empty.
.3.1
- BUG: Fixed bug where deleted or expired users were being processed and possibly sent expiration warnings.
.3
- BUG: Fixed bug where users were getting 2 expiration emails.
- ENHANCEMENT: Added pmproeewe_email_frequency_and_templates template to adjust the array of email frequencies and templates via filters instead of editing the plugin.
.2
- ENHANCEMENT: Allow different templates for emails at different days
.1
- Initial commit.
Upgrade Notice
.3
IMPORTANT NOTE: You or a developer may have edited this plugin to set specific timing for the extra expiration warning emails. If so, do not upgrade unless you are okay with the default 30, 60, 90 periods or have backed up your settings so you can implement them again in the new version of this addon.
Releases
5 releases.
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.