Skip to main content
Progressify exposes a deliberately small surface: two filters over the generated files, two actions around settings saves, one filter for the admin screen, one for the push HTTP client, and one action to hook plugin bootstrap. Add these to your theme’s functions.php or a site-specific plugin.

Filters

progressify_manifest

Filters the web app manifest before it is served, after Progressify has assembled it from your settings.
array
required
The manifest as an associative array, ready to be encoded as JSON.
Use it for manifest members Progressify has no field for, or to vary the manifest by context.

progressify_serviceworker

Filters the generated service worker source before it is written. The value is JavaScript as a string, containing Workbox followed by Progressify’s event listeners, routing rules, and cache cleanup.
string
required
The complete service worker source.
Append to this string rather than rewriting it, and check the result in Application > Service Workers in developer tools. A syntax error here means the service worker fails to register, which silently disables offline support, install prompts, and push notifications across the whole site.
Re-save the settings screen after changing this filter, since the file is generated rather than assembled per request.

progressify_admin_js_vars

Filters the variables passed to the admin JavaScript, exposed on the page as progressify_admin_js_vars.
array
required
Includes siteName, homeUrl, upgradeUrl, pluginDirUrl, iconUrl, adminUrl, and hasActivePro.

progressify_webpush_client_options

Filters the HTTP client options used when sending push notifications. Defaults to verifying against the CA bundle WordPress ships.
array
required
Guzzle client options. The default is ['verify' => ABSPATH . WPINC . '/certificates/ca-bundle.crt'].
Do not disable certificate verification here. If pushes fail with a TLS error, the fix is your server’s certificate store, not turning verification off.

Actions

progressify_settings_update:before

Fires before settings are written, with the merged settings that are about to be saved.
array
required
The new settings merged over the current ones.

progressify_settings_update:after

Fires immediately after the settings option is updated, with the same array.
Use the :after action to invalidate a server-side cache, notify a team channel, or mirror a setting into another system.

progressify_pro_loaded

Fires once the Freemius SDK is initialized, before the plugin’s own features are constructed. This is the earliest safe point to check licensing state.

Shortcodes

progressify-install-button

Renders a button that triggers the browser install prompt. It uses the Text value from installation settings as its label.
Place it in a post, a page, or a block or widget that processes shortcodes. In a template, call it directly.
The button needs a browser that can install and a visitor who has not already installed. Where neither is true it has nothing to trigger, so do not build a layout that depends on it being visible.

Constants

Defined during bootstrap and available to any code that loads after the plugin.