This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Smooth Custom Cursor

Description

Smooth Custom Cursor replaces the default browser cursor with a beautiful animated dot + ring cursor effect. Fully customizable from the WordPress admin panel.

Features:

  • Smooth lagging ring animation using requestAnimationFrame
  • Magnetic scale effect on hover over links and buttons
  • Customizable cursor color (color picker)
  • Customizable cursor size
  • 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

  1. Upload the smooth-custom-cursor folder to the /wp-content/plugins/ directory, or install directly via Plugins Add New in WordPress admin.
  2. Activate the plugin through the Plugins menu.
  3. Go to Settings Cursor Ultimate to configure the cursor color, size, and mobile behavior.

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.

What WordPress version is required?

WordPress 5.8 or higher.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“Smooth Custom Cursor” is open source software. The following people have contributed to this plugin.

Contributors

Translate “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.1

  • Fixed: Correct asset paths for CSS and JS files
  • Fixed: Admin settings include path corrected
  • Fixed: JS variable name aligned with wp_localize_script output
  • Fixed: Cursor HTML elements now injected via wp_footer hook
  • Fixed: CSS variables now output via wp_head hook
  • Fixed: disableMobile option now correctly passed to JavaScript
  • Security: Added nonce verification to settings form (CSRF protection)
  • Security: Added capability check in settings page function
  • Improved: Cursor hides when mouse leaves the browser window
  • Improved: Input validation with min/max for size field

2.0

  • Initial release.