Description
Smooth Custom Cursor replaces the default browser cursor with a beautiful animated cursor effect. Fully customizable from the WordPress admin panel, with a live preview box for every style.
Choose from 9 cursor styles:
1. Dot + Ring — classic lagging ring with magnetic hover (the original style)
2. Glow Circle — small circle that grows into a larger circle with custom text on hover
3. Diamond — a tilting diamond shape that reacts to movement direction
4. Water Arrow — a hollow arrow that fills up like liquid and drains, on a loop
5. Bubble Trail — a normal-looking arrow that releases bubbles while moving
6. Character Trail — a normal-looking arrow that releases letters/characters while moving
7. Sparkle Arrow — a spinning sparkle that tilts with movement and morphs into an arrow-in-circle on hover
8. Seed Bloom — a seed that drifts with a trailing vine and blooms into a flower on hover, with an optional magnetic button pull
9. Image Cursor — upload any image from your Media Library to use as the cursor
Features:
* 9 selectable cursor styles, each with its own settings section
* Live preview box on the settings page for every style — see your changes before saving
* Customizable colors, sizes, hover sizes, speed, and particle amount depending on style
* Optional magnetic button-pull effect (Seed Bloom style only)
* Option to disable on mobile/touch devices
* Hides cursor when mouse leaves the browser window
* Zero dependencies — pure vanilla JavaScript
* Lightweight and performance-optimized
Installation
- Upload the smooth-custom-cursor folder to the /wp-content/plugins/ directory, or install directly via Plugins > Add New in WordPress admin.
- Activate the plugin through the Plugins menu.
- Go to Settings > Cursor Ultimate to pick a cursor style and configure its settings, using the live preview box to check it before saving.
FAQ
-
Does it work with all themes?
-
Yes. The plugin injects the cursor elements via wp_footer and loads styles/scripts on all frontend pages.
-
Can I disable it on mobile?
-
Yes. In Settings > Cursor Ultimate, check the “Disable on Mobile” option.
-
Why does my default cursor still show?
-
Make sure no other plugin or theme CSS is overriding cursor: none. The plugin sets cursor: none !important on all elements.
-
Can I switch between styles without losing my settings?
-
Yes. Each style’s settings are stored separately, so switching the “Cursor Style” dropdown keeps your previous configuration for every style intact.
-
When enabled (Seed Bloom style only), it applies to all buttons and links site-wide. If you have a lot of inline text links, consider leaving it off since pulling running text can look odd.
-
What happens if I choose Image Cursor but don’t upload an image?
-
The plugin falls back to the normal browser cursor until an image is chosen.
-
What WordPress version is required?
-
WordPress 5.8 or higher.
Reviews
Contributors & Developers
“Smooth Custom Cursor” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Smooth Custom Cursor” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
2.3.0
- New: 8 additional cursor styles — Glow Circle, Diamond, Water Arrow, Bubble Trail, Character Trail, Sparkle Arrow, Seed Bloom, and Image Cursor (9 total, including the original Dot + Ring)
- New: Cursor Style dropdown in Settings > Cursor Ultimate, with a dedicated settings section per style
- New: Live preview box on the settings page for every style, reflecting unsaved changes in real time
- New: Diamond uses a color-invert effect on hover
- New: Optional magnetic button-pull effect for Seed Bloom, with adjustable radius and strength
- New: Size and Hover Size controls for Bubble Trail and Character Trail
- Improved: Clearer labeling for Bubble Trail / Character Trail spacing controls (“Bubble/Character Spacing (distance in px)” with a plain-language explanation)
- Improved: Settings for every style are saved independently, so switching styles never loses your previous configuration
- Improved: All new inputs sanitized and validated (hex colors, clamped number ranges, whitelisted dropdowns, sanitized image URLs) with nonce + capability checks, matching existing security practices
2.2
- Fixed: Cursor z-index increased to always stay on top
2.1
- Fixed: CSS variables now injected via wp_add_inline_style
- Fixed: All functions and options prefixed with smoocucu_
- Fixed: POST inputs now use isset, wp_unslash and sanitization
- Fixed: ABSPATH check added to all PHP files
- Security: Nonce verification on settings form
- Security: Capability check on settings page
- Improved: Cursor hides when mouse leaves browser window
2.0
- Initial release.
