About this plugin
Season Spark loads tasteful front-end particle effects and lightweight visual overlays. The plugin’s implementation and admin UI provide the following behavior and options (exactly as implemented in the plugin):
- Included effects: christmas (snow/twinkles), halloween (ghosts/pumpkins + fog overlay), valentines (hearts + confetti), newyear (occasional fireworks bursts), easter (eggs & bunnies, occasional large egg drop), thanksgiving (falling leaves + occasional turkey popup), independence (fireworks + occasional flag/spark bursts), diwali (lights/diya sparkles + occasional diya popup), hanukkah (menorah sparkles + occasional menorah popup), and generic (custom graphics: rain/stars/bubbles or an uploaded background).
- Per-effect configuration: enabled, optional schedule with start / end dates, density, speed, and color for effects that use color (the admin shows color pickers only for effects that accept color).
- Custom Graphics support: the generic effect can use an uploaded background ( custom_bg ) and an uploaded custom cursor image ( custom_cursor_image ). When custom_bg is set the plugin creates a lightweight animated background element instead of particles.
- Custom Cursor support: when a per-effect custom_cursor is enabled the front-end will attempt to use a provided custom_cursor_image or bundled SVG image as an overlay cursor (implemented by the public JS initializer).
- Accessibility: the plugin respects the user’s prefers-reduced-motion setting, supports a site-level motion_reduced admin toggle, and prints a small per-user motion toggle (stored in localStorage ). When reduced motion is active, visual initialization is skipped.
- Performance: only enabled effects have their per-effect JS files enqueued; the plugin localizes seasonSparkSettings and seasonSparkImages for front-end initialization and ships the tsparticles bundle under assets/vendor/tsparticles/.
Admin and developer features (as implemented):
- Admin pages: top-level “Season Spark” menu with the subpages Effects, Settings, and For Devs.
- Settings: global toggles (load particle library, reduce motion) and default density/speed values; the Effects page exposes per-effect controls, schedule toggles, density/speed inputs, color pickers for color effects, and WP Media-based selectors for custom background/cursor on the generic effect.
- Developer filters present in the code: seasonspark_get_registered_effects (modify the list of effects), seasonspark_settings_for_js (filter settings passed to front-end JS), and seasonspark_images_for_js (filter the image mapping sent to JS).
Notes:
- Default activation: by default only the valentines effect is enabled on activation.
- Assets: effect scripts, images and styles are bundled under assets/; the plugin enqueues only enabled effect scripts to keep the front-end lightweight.