The Advanced tab contains data management settings, upgrade utilities, and configuration options that should only be modified with a full understanding of their effects.
📌 What This Extension Adds: Advanced settings including data deletion on uninstall and the upgrade migration utility are Subscriptions Pro features. The Known Gotchas section below documents code-level behaviours that affect configuration.
Advanced Settings #
| Option Key | Default | Description |
|---|---|---|
dmsilm_sp_delete_data_on_uninstall | false | If true, all plugin database tables and options are permanently deleted on plugin uninstall |
Warning: Enabling
dmsilm_sp_delete_data_on_uninstalland then uninstalling the plugin is irreversible. All subscription lifecycle history (retries, pauses, win-back records, trial logs) will be permanently deleted. Only enable this if you are certain you will not need the data.
License Settings #
The Advanced tab also provides a direct link to the DMSI License Manager for this product. License activation and deactivation are handled in the License Manager, not within the Subscriptions Pro settings.
Upgrade Migration Utility #
The Advanced tab includes a Run Upgrade Migrator button. This manually triggers the maybe_upgrade() / migrate_option_keys() routine. This is useful if the automatic migration did not run during plugin update (e.g. if WP-CLI was used for the update).
—
Renewal Reminder Option Keys #
The codebase references two option keys for the renewal reminder schedule:
| Option Key | Type | Notes |
|---|---|---|
dmsilm_sp_renewal_reminder_days | Array (e.g. [7]) | Canonical key — read by get_reminder_schedule(). This is the primary key used by the reminder cron job. Configure this key when setting reminder timing. |
dmsilm_sp_reminder_schedule | Array (e.g. [7]) | Secondary/alias key — also present in the options table. References to both keys exist in the codebase due to an early naming inconsistency. renewal_reminder_days takes precedence. Both keys will be present after the upgrade migrator runs. Do not delete either key manually. |
When writing or reading the reminder schedule programmatically, always use dmsilm_sp_renewal_reminder_days.
—
Known Gotchas #
Gotcha: Option Key Naming Inconsistency (Installer vs Core) #
Affects: Sites upgrading from pre-1.0.1 versions.
Background: A breaking change was introduced in the option key format between early development versions and the 1.0.0 release. The installer in versions prior to 1.0.1 stored feature toggle options using the enable_ prefix format:
“ dmsilm_sp_enable_{feature} ← old installer format (pre-1.0.1)
`
The current core code reads options using the _enabled suffix format:
`
dmsilm_sp_{feature}_enabled ← current format read by core
`_enabled
Symptom: After upgrading from a pre-1.0.1 install, feature toggles (pause, win-back, trials, plan switching) appear to have no effect even when set to enabled in the admin UI. This is because the admin writes to the new suffix keys but the in-memory code may still be reading the old enable_ prefix keys from a stale cache.maybe_upgrade()
Resolution: The method detects this condition and runs migrate_option_keys() once, which renames all dmsilm_sp_enable_{feature} options to dmsilm_sp_{feature}_enabled. This migration runs automatically on plugin update. If it did not run (e.g. WP-CLI update without page load), use the Run Upgrade Migrator button in Advanced settings._enabled` suffix format.
Fresh installs on 1.0.0+ are not affected — they always write and read the
—
## Next Steps
- What is DMSI Subscriptions Pro? — Return to the feature overview and requirements.
- Payment Retries Overview — Configure your retry and dunning strategy.
- Renewal Reminders — Full documentation for the renewal reminder system including both option keys.
