Paid Memberships Pro - Subscription Delays Add On WP Registry grade A. No security issues foundWP RegistryNo security issues foundOpen the reportA
Adds a “delay” field to membership levels and discount codes, allowing you to set a variable-length period between your initial payment (if required) and recurring subscription payment.
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-subscription-delays/archive/refs/heads/dev.zipAdds a "delay" field to PMPro membership levels and discount codes, allowing you to set a variable-length period between your initial payment (if required) and recurring subscription payment.
Description
This plugin requires Paid Memberships Pro to function.
Adds a "delay" field to PMPro membership levels and discount codes, allowing you to set a variable-length period between your initial payment (if required) and recurring subscription payment.
Set "delay" to be:
- a number of days (i.e. 7 for 1 week trial)
- a specific date (i.e. 2015-01-01)
- a date calculated based on signup (i.e. Y2-01-01 or Y1-M2-01)
Installation
- Upload the
pmpro-subscription-delaysdirectory to the/wp-content/plugins/directory of your site. - Activate the plugin through the 'Plugins' menu in WordPress.
- That's it. No settings.
Changelog
0.6.2 - 2026-05-04
- BUG FIX: Resolved a PHP 8.1+ "automatic conversion of false to array is deprecated" notice when saving discount codes by returning an empty array from
pmpro_getDCSDs()instead offalsewhen no delays are stored. #52 (@dparker1005) - BUG FIX: Avoided a PHP warning in
pmprosd_level_cost_text()when thepmpro_level_cost_textfilter is fired without a valid level object. #50 (@MaximilianoRicoTabo)
0.6.1 - 2025-02-06
- BUG FIX: Fixed an issue that could cause errors if the core PMPro plugin was not active. #49 (@dparker1005)
0.6 - 2025-02-05
- BUG FIX/ENHANCEMENT: Now setting the profile start date directly on the checkout level object for sites running PMPro v3.4+. #48 (@dparker1005)
- BUG FIX: Fixed an issue where discount codes with numeric codes were not setting the profile start date correctly. #46 (@dparker1005, @kimwhite)
- DEPRECATED: Deprecated the
pmprosd_modify_start_datefilter. Thepmpro_checkout_levelfilter should be used instead. #48 (@dparker1005)
0.5.7 - 2024-08-13
- BUG FIX: Fixed an issue where subscription delays set on discount codes were not being applied. #45 (@dparker1005)
0.5.6 - 2023-12-11
- DEPRECATED: No longer tracking the
pmprosd_trialing_untildate in user meta when using PMPro v3.0+. Tracking next payment dates is now handled by the PMPro Subscriptions table in core PMPro, which also adds MMPU-compatibility. #42 (@dparker1005)
0.5.5 - 2022-03-18
- ENHANCEMENT: Added Italian language files. (@mircobabini)
- BUG FIX/ENHANCEMENT: Improved localization and added missing strings to translation. (@femiyb)
- BUG FIX: Fixed issue where level price was not generated correctly for daily subscriptions using a subscription delay. (@mircobabini)
.5.4 - 2020-01-19
- ENHANCEMENT: Prepared for localization.
- ENHANCEMENT: Added a pmprosd_current_date filter you can use in rare cases you want to apply subscription delays based on a day in the past.
.5.3
- BUG FIX: Fixed issue where specific dates like 2019-07-29 would be converted to 2019-07-31 when used.
- BUG FIX/ENHANCEMENT: If the profile start date is in the past, we reset it to the current date to avoid issues with the gateways. In general, make sure you don't set your subscription delays to dates in the past.
- ENHANCEMENT: You can now use year and placeholder values > 9. So Y1-M18-01 will set the date on the first of the month, 18 months in the future. Be careful since some gateways, like PayPal don't allow you to setup subscriptions to start more than one year out.
.5.2
- BUG FIX: Even better handling of Y1/etc!
.5.1
- BUG FIX: Better handling of Y1/etc. Tries to not allow the subscription delay to be in the past. For example when using a date like Y1-12-01 on 2018-12-14, you should get a delay until 2019-12-01.
.5
- BUG FIX: Correctly updating Y1-M2-01 to Jan of the following year if it is December.
.4.6
- BUG: Didn't return a valid startdate from pmpro_profile_start_date filter handler which resulted in double payments at checkout for levels that had no subscription delay set.
.4.5
- BUG: Didn't handle the documented M/Y variables (M1 & Y1)
.4.4
- BUG: The 1 period free trial bug was still happening in some cases with discount codes with delays set on them.
.4.3
- BUG: Fixed issue with Authorize.net where the user would get an additional 1 period trial after the subscription delay. (Thanks, mobilizedcloud)
- ENHANCEMENT: Added pmprosd_getDelay($level_id, $code_id) helper function.
.4.2
- BUG: Fixed incorrect level cost text
.4.1
- Fixed level cost text when specified dates are used. (Thanks, russell77)
- BUG: Now correctly checking for and replacing "M", "Y", etc. in subscription delays.
.4
- Using current_time('timestamp') to improve accuracy of dates and times generated.
- Keeping track of a "pmprosd_trialing_until" value after checkout and filter pmpro_next_payment to use that value if it is sooner than the calculated next payment date.
.3.3
- Added pmprosd_modify_start_date filter to change the start_date generated by the plugin. Passes $start_date, $order, $subscription_delay. (Thanks, Thomas Sjolshagen)
- Using esc_sql function.
- Removed the code that would set TrialBillingCycles to 0 if a subscription delay was set. Be sure to update your level settings and delays to account for this.
.3.2.2
- Fixed grammar when costs are wrapped in tags. So "The price for membership is $2.00 per Month. after your 14 day trial." is now "The price for membership is $2.00 per Month after your 14 day trial.".
.3.2.1
- Fixed a warning.
.3.2
- Just removed the "edited" from the name.
.3.1
- Fixed bug where specific date delays were showing up as integers (e.g. 2015-01-01 would become just 2015) on the edit levels page.
.3
- Added ability to set a specific date for the delay. Use format YYYY-MM-DD and the plugin will calculate the # of days until that date and use that for the delay value.
.2
- Now adds delay box to basic levels as well as discount codes.
- Adds "after your X day trial" to the end of the level cost text.
Releases
9 releases.
These releases are tags only. The author does not attach a packaged zip, so there are no download counts to report.