Skip to main content
All of Progressify’s settings live in a single WordPress option, progressify_settings, stored as an associative array.
Toggles are the strings on and off, not booleans. A key that has never been seeded is absent from the array, and absent counts as off.
Prefer the settings screen or the PUT /settings endpoint over writing the option directly. Both merge your values over the stored ones and fire the update hooks; a direct update_option with a partial array silently discards every setting you left out.
To change one value safely in code:

When keys are seeded

Free defaults are written on activation. Pro defaults are added when a licensed install first loads, and again after an update for any key that did not exist before. Your existing values are never overwritten by this process. This means a free install has no darkMode key at all rather than a key set to off. Code that reads a Pro key on a free site should handle it being missing.

Free settings

Pro settings

These keys only exist on an install with an active license.