Hooks & Filters Reference

Every public PHP filter and action in Ultimate Cursor, and an explicit note on what doesn't exist — no shortcodes, blocks, or JS events.

By the end of this page, you'll have the complete list of Ultimate Cursor's developer-facing PHP extension points, and know what to stop searching for.

Applies to Ultimate Cursor 2.3.1+.

PHP filters

FilterPurpose
ultimate_cursor_enable_elementor_controlsre-enable the legacy per-widget Elementor controls for new installs
ultimate_cursor_is_premium_activefast-path override of the license check — return true/false to force premium state
ultimate_cursor_premium_keysextend the list of settings keys treated as premium-only
ultimate_cursor_premium_valuesextend premium-only value rules for a given key
ultimate_cursor_premium_cursor_effect_fieldsextend which fields are premium-only per cursor effect
ultimate_cursor_premium_background_type_fieldsextend which fields are premium-only per background type
ultimate_cursor_cursor_settings_schema / ultimate_cursor_background_settings_schemaextend the REST write allowlist for top-level settings
ultimate_cursor_cursor_config_schema / ultimate_cursor_background_config_schemaextend the REST write allowlist for per-configuration entries

PHP actions

ActionFires
ultimate_cursor_fs_loadedafter the Freemius SDK finishes initializing

What doesn't exist

To save you time searching: Ultimate Cursor has no shortcodes, no Gutenberg blocks, and no public JavaScript events (no CustomEvent/dispatchEvent API on the frontend runtime). Cursors and backgrounds are configured entirely through the dashboard and apply automatically by scope rule — there's no per-post or per-template placement mechanism to hook into.

The @wordpress/hooks JS filters used internally (is-pro-feature, cursor-types) are admin-dashboard implementation details for the Pro unlock UI, not a public developer API — they're not documented here as something to build against.