Free plugin Version 2.1.0 Updated

Christmas Snow for WordPress documentation

Christmas Snow for WordPress adds a configurable falling snow effect to your site, with a live preview, presets, display rules, a seasonal schedule and the christmassnow shortcode. This guide covers installation, every settings tab and common fixes.

Try the live demo Get Christmas Snow for WordPress

Overview

Christmas Snow for WordPress adds a falling snow effect to your site using a lightweight HTML5 Canvas engine. It works as soon as you activate it, and you can change every part of the effect from a single settings screen under Settings > Christmas Snow.

You choose what the flakes look like (snowflake characters, emoji, soft dots or your own image), how much snow falls and how it moves, where it appears, who sees it and which weeks of the year it runs. A live preview panel shows your changes before you save, and six one click presets give you a starting point.

The plugin is for any WordPress site that wants seasonal decoration: holiday campaigns, blogs, business sites and WooCommerce stores. It is completely free, with no locked features.

Requirements

  • WordPress 5.0 or later
  • PHP 7.0 or later
  • Tested up to WordPress 7.1

Installation

Christmas Snow is a free plugin on WordPress.org. It does not need any other plugin. The snow starts working with its default settings as soon as you activate it.

  1. Log in to your WordPress admin dashboard.

  2. Go to Plugins > Add New.

  3. Search for Christmas Snow.

  4. Click Install Now, then Activate.

  5. Optional: go to Settings > Christmas Snow to shape the effect. You can also click Settings next to the plugin on the Plugins page.

Quick start

  1. Open the settings screen

    Go to Settings > Christmas Snow. The badge at the top right shows the current status, for example Snowfall is live. The snow is already running on your site with the default settings.

  2. Pick a preset

    In the Presets panel on the right, click one of the looks: Gentle Drift, Classic Christmas, Heavy Blizzard, Golden Sparkle, Festive Emoji or Settling Snow. A preset fills in the Appearance and Motion settings and leaves your display rules and schedule alone. Watch the result in the Live preview panel.

  3. Fine tune the look and movement

    Open the Appearance tab to change the flake type, characters, colours, size and opacity. Open the Motion tab to change how many flakes fall, their speed, the wind and how they react to the cursor. The live preview updates as you change each setting.

  4. Decide where and when it snows

    On the Display Rules tab, choose where the snow appears and who sees it. On the Schedule tab, turn on Only show during a date range if you want the snow to run only during the holiday season.

  5. Save and check your site

    Click Save changes. Changes apply to your site as soon as you save. Reload a page on your site to see the result.

#General settings

The General tab is the first tab on Settings > Christmas Snow. It holds the master switch and the options that control how the effect behaves on every page.

Snowfall

  • Enable snowfall is the master switch. Turn it off to stop the effect everywhere without deactivating the plugin.
  • Respect reduced motion skips the animation for visitors who asked their device to reduce motion. Leaving it on is recommended.
  • Pause in background tabs stops drawing while the browser tab is not visible.
  • Stop the snow after sets how many seconds the snow falls on each page view. When the time is up, no new flakes appear and the snow fades out. Use 0 to keep it snowing.
  • Let visitors turn the snow off adds a small button in the bottom left corner. The visitor's choice is remembered in their own browser, and nothing is stored on your site.

Placement

  • Layer (z-index) sets how high the snow sits in the page stack. Lower it if the snow covers a sticky header or a popup.
  • Limit to a container takes an optional CSS selector, for example .site-header. Leave it empty to cover the whole window.

The header of the screen shows the plugin version and a status badge. A dismissible banner about ProPluginsLab's WooCommerce plugins also appears on this screen. Close it with the × button if you do not need it.

The General tab of Settings > Christmas Snow with the Snowfall and Placement sections, and the Live preview, Presets and Shortcode panels on the right.
The master switch, reduced motion and visitor toggle options sit under Snowfall. Layer (z-index) and Limit to a container are under Placement.

#Live preview, presets and shortcode panels

The right side of every settings tab shows three panels, so you can use them while you work on any tab.

  • Live preview shows the snow with your current settings and updates as you change any setting. Click Pause to stop the animation. Use the three Preview background swatches (dark, blue and light) to check how the flakes look on different backgrounds.
  • Presets offers six one click looks: Gentle Drift, Classic Christmas, Heavy Blizzard, Golden Sparkle, Festive Emoji and Settling Snow. A preset fills in the Appearance and Motion settings. Your display rules and schedule are left alone. Click Save changes to apply the preset to your site.
  • Shortcode shows [christmas_snow] and an example with attributes, ready to copy. See the Shortcodes section on this page for details.

#Appearance

The Appearance tab controls what each flake looks like.

Flake style

  • Flake type has three options: Characters and emoji for classic snowflakes and emoji, Soft dots (fastest) for heavy snowfall, and Custom image to use your own artwork from the media library. For a custom image, a small transparent PNG or SVG works best.
  • Characters lists the characters to use, separated by a space. Snowflakes, sparkles, stars and holiday emoji all work.
  • Colours sets the flake colour. Click + Add colour to add more colours. With more than one colour, the flakes mix them at random (up to eight colours).

Size and opacity

  • Smallest flake and Largest flake set the size range. Flakes are sized at random between these two values.
  • Minimum opacity and Maximum opacity set how see-through the flakes are. Lower both for a subtle effect that sits behind your content.
  • Softness blurs the flakes for a dreamy look. Anything above 0 costs some performance.
  • Depth effect makes distant flakes smaller, slower and fainter, so the snowfall gains a sense of depth.

Fields that do not apply to your current choices are hidden automatically.

The Appearance tab with the Flake style section (Flake type, Characters, Colours) and the Size and opacity sliders.
Use + Add colour to mix several colours. The sliders show their current value on the right.

#Motion

The Motion tab controls how much snow falls and how it moves.

How much snow

  • Flakes on desktop and Flakes on mobile set the number of flakes. Keep the mobile count well below the desktop count, because phones have far less drawing power.
  • Mobile breakpoint is a width in pixels. Screens narrower than this use the mobile flake count.

Falling and wind

  • Slowest fall and Fastest fall set the speed range. A wider gap between the two looks more natural.
  • Wind direction: negative values blow the snow to the left, positive values to the right.
  • Gusts slowly swings the wind back and forth instead of holding one direction.
  • Sway sets how much each flake drifts from side to side on its way down.
  • Spin the flakes turns rotation on, and Spin speed sets how fast they spin.

Interaction

  • Cursor interaction sets how flakes react to the mouse pointer: None, Push flakes away, Pull flakes in or Gentle wind towards the cursor. It costs a little performance on very dense snowfall.
  • Interaction strength sets how strong that effect is.

Settling snow

  • Let snow settle at the bottom builds a drift along the bottom of the screen as flakes land.
  • Maximum drift height limits how tall that drift can grow.
The Motion tab with the How much snow, Falling and wind, Interaction and Settling snow sections.
Desktop and mobile have separate flake counts, and the Mobile breakpoint decides which one a screen uses.

#Display Rules

The Display Rules tab decides where the snow appears and who sees it.

Where the snow appears

Show on has three choices: The entire site, The home page only or Selected content types and pages. With the last option you can pick content types and list the post or page IDs where the snow should always show.

Never show on

  • These IDs: a comma separated list of post or page IDs that should never show snow, for example 3, 27.
  • WooCommerce cart, checkout and account pages: keeps the effect off these pages. This is strongly recommended, so nothing decorative sits between a customer and the pay button.
  • Search results and 404 pages: keep the snow off those pages.

Who sees it

  • Devices: All devices, Desktop only or Mobile only. Device detection happens on the server, so a page cache that does not vary by device may serve the wrong result. Leaving this on All devices and lowering the mobile flake count is the safer choice.
  • Visitors: Everyone, Logged in users only or Logged out visitors only.
  • Hide from these roles: tick the user roles that should not see the effect. This is useful for keeping the snow away from staff while they work.
The Display Rules tab with the Where the snow appears, Never show on and Who sees it sections.
Read the note under Devices if your site uses a page cache.

#Schedule

The Schedule tab lets the snow run only during a season.

  1. Turn on Only show during a date range.
  2. Set the start and end dates.
  3. Click Save changes.

The range repeats every year, so you set it once. Ranges that cross New Year work correctly, for example 1 December to 6 January. Outside the range, the status badge at the top of the screen shows that the snow is waiting for its season.

The Schedule tab with the Seasonal schedule section and the Only show during a date range toggle turned off.
Turn the toggle on to reveal the date fields. The range repeats every year.

#Advanced

The Advanced tab holds performance and control options.

Performance

  • Frame rate limit caps how many frames per second the animation draws. Lower it to save battery on laptops and phones. 30 still looks smooth for falling snow.
  • Load the script in the footer keeps the snow out of the way of your page rendering. Leave it on unless something needs the script earlier.

Control

  • Only load where the shortcode is used ignores the display rules entirely and waits for [christmas_snow] to appear on a page. Use it when you want snow on a few chosen pages only.
  • Show the admin bar shortcut adds a snow indicator to the toolbar. It shows whether the snow is running on the current page and lets you preview the page with or without snow. Only administrators see it.
The Advanced tab with the Performance section (Frame rate limit, Load the script in the footer) and the Control section.
Only load where the shortcode is used switches the plugin to shortcode only mode.

#Tools

The Tools tab helps you back up, move and reset your configuration.

  • Export settings: click Download JSON file to save your configuration as a JSON file. Use it as a backup or to move the setup to another site.
  • Import settings: paste the contents of an exported file into the text box and click Import settings. Everything is validated before it is saved.
  • Reset: click Reset all settings to put every setting back to how it was when you first installed the plugin.
  • Current configuration shows your saved settings as JSON, so you can check them at a glance.
The Tools tab with the Export settings, Import settings, Reset and Current configuration sections.
The Reset box is marked in red because it replaces all your settings with the defaults.

#Plugins

The Plugins tab lists plugins and add-ons from ProPluginsLab, the team behind Christmas Snow. You do not need it to use the snow effect.

  • Filter the list with All, Free plugins, Pro plugins and Add-ons.
  • Click View details on a free plugin to see it, or Get plugin on a pro plugin or add-on.
  • Plugins already on your site are marked as installed or active.
  • Click Refresh to load the latest list. The list also refreshes once a day in the background, and a built in list is shown if your site cannot reach the internet.

To keep the list current, the plugin requests the catalogue from https://propluginslab.io/wp-json/cwg-feed/v1/products and the current offer from https://propluginslab.io/wp-json/cwg-feed/v1/promotion. The request sends only the plugin version and your site address. Your visitors never trigger these requests: the front end makes no external requests.

The Plugins tab with filter buttons and a grid of plugin cards, each with a View details or Get plugin button.
Use the filter buttons at the top to narrow the list, and Refresh to load the latest catalogue.

Settings reference

Settings > Christmas Snow > General

SettingTypeDefaultWhat it does
Enable snowfall checkbox on Master switch. Turn it off to stop the effect everywhere without deactivating the plugin.
Respect reduced motion checkbox on Skips the animation for visitors who asked their device to reduce motion.
Pause in background tabs checkbox on Stops drawing while the browser tab is not visible.
Stop the snow after number 0 Seconds of snowfall per page view. When the time is up, the snow fades out. Use 0 to keep it snowing.
Let visitors turn the snow off checkbox off Adds a small button in the bottom left corner. The choice is remembered in the visitor's browser.
Layer (z-index) number 999999 How high the snow sits in the page stack. Lower it if the snow covers a sticky header or a popup.
Limit to a container text - Optional CSS selector, for example `.site-header`. Leave empty to cover the whole window.

Settings > Christmas Snow > Appearance

SettingTypeDefaultWhat it does
Flake type select Characters and emoji `Characters and emoji`, `Soft dots (fastest)` or `Custom image` from the media library.
Characters text ❄ ❅ ❆ Characters or emoji to use as flakes, separated by a space.
Colours text #ffffff Flake colour as a hex value. Use + Add colour to mix several colours at random.
Colour 1 color #ffffff Colour picker for the first flake colour.
Smallest flake range 10 Smallest flake size in pixels.
Largest flake range 22 Largest flake size in pixels. Flakes are sized at random between the two values.
Minimum opacity range 0.45 Lowest flake opacity.
Maximum opacity range 0.95 Highest flake opacity. Lower both values for a subtle effect.
Softness range 0 Blurs the flakes, in pixels. Anything above 0 costs some performance.
Depth effect checkbox on Makes distant flakes smaller, slower and fainter.

Settings > Christmas Snow > Motion

SettingTypeDefaultWhat it does
Flakes on desktop range 120 Number of flakes on screens wider than the mobile breakpoint.
Flakes on mobile range 40 Number of flakes on phones. Keep it well below the desktop count.
Mobile breakpoint number 768 Width in pixels. Narrower screens use the mobile flake count.
Slowest fall range 0.4 Lowest fall speed.
Fastest fall range 1.2 Highest fall speed. A wider gap looks more natural.
Wind direction range 0 Negative blows the snow to the left, positive to the right.
Gusts range 0.5 Slowly swings the wind back and forth.
Sway range 1 How much each flake drifts from side to side on its way down.
Spin the flakes checkbox on Rotates the flakes as they fall.
Spin speed range 1 How fast the flakes spin.
Cursor interaction select - `None`, `Push flakes away`, `Pull flakes in` or `Gentle wind towards the cursor`.
Interaction strength range 1 How strongly the flakes react to the cursor.
Let snow settle at the bottom checkbox - Builds a drift along the bottom of the screen as flakes land.
Maximum drift height range 40 Maximum height of the settled snow drift, in pixels.

Settings > Christmas Snow > Display Rules

SettingTypeDefaultWhat it does
The entire site radio The entire site Show on: `The entire site`, `The home page only` or `Selected content types and pages`.
These IDs text - Comma separated post or page IDs that should never show snow.
WooCommerce cart, checkout and account pages checkbox - Keeps the snow off WooCommerce cart, checkout and account pages. Strongly recommended.
Search results checkbox off Keeps the snow off search results pages.
404 pages checkbox off Keeps the snow off 404 pages.
All devices radio All devices Devices: `All devices`, `Desktop only` or `Mobile only`. Detection happens on the server.
Everyone radio Everyone Visitors: `Everyone`, `Logged in users only` or `Logged out visitors only`.
Administrator checkbox off Hide from these roles: hides the effect from administrators.
Editor checkbox off Hide from these roles: hides the effect from editors.
Author checkbox off Hide from these roles: hides the effect from authors.
Contributor checkbox off Hide from these roles: hides the effect from contributors.
Subscriber checkbox off Hide from these roles: hides the effect from subscribers.

Settings > Christmas Snow > Schedule

SettingTypeDefaultWhat it does
Only show during a date range checkbox off Runs the snow only between a start and end date. The range repeats every year.

Settings > Christmas Snow > Advanced

SettingTypeDefaultWhat it does
Frame rate limit range 60 Maximum frames per second. Lower it to save battery. 30 still looks smooth.
Load the script in the footer checkbox on Keeps the snow out of the way of page rendering.
Only load where the shortcode is used checkbox off Ignores the display rules and shows snow only on pages that contain `[christmas_snow]`.
Show the admin bar shortcut checkbox on Adds a snow indicator to the toolbar for administrators, with a preview with or without snow.

Shortcodes

[christmas_snow]

Forces the snow on for the page or post where you add it, even where your display rules would normally hide it. Attributes override your saved settings for that page only. When **Only load where the shortcode is used** is on under Advanced, the snow appears only on pages that contain this shortcode.

[christmas_snow density="150" color="#ffd700" size="20" speed="1.5" wind="2"]
AttributeDefaultDescription
density-How much snow falls on this page.
color-Flake colour as a hex value, for example `#ffd700`.
characters-Characters or emoji to use as flakes on this page.
type-Flake type for this page.
speed-Fall speed for this page.
wind-Wind for this page.
size-Flake size for this page.
zindex-Layer (z-index) of the snow on this page.

On your site

Visitors see snowflakes falling over your pages, drawn on a canvas layer that sits above the content. The look and movement follow your Appearance and Motion settings, and the pages where it appears follow your Display Rules and Schedule.

A few things visitors may notice:

  • Depending on Cursor interaction, flakes move away from the mouse pointer, are pulled towards it, or blow towards it.
  • With Let snow settle at the bottom on, a drift builds up along the bottom of the screen.
  • With Let visitors turn the snow off on, a small button appears in the bottom left corner. The visitor's choice is remembered in their browser.
  • With Stop the snow after set above 0, the snow falls for that many seconds and then fades out.

Visitors whose device asks to reduce motion do not see the animation (when Respect reduced motion is on). The canvas is marked as decorative, so screen readers ignore it.

A site home page with a dark blue hero section titled Let it snow, where the snowfall renders over the content.
The snow is drawn over every page where your display rules allow it. Changes you save in the settings show after you reload the page.

Frequently asked questions

Do I have to configure anything?

No. The plugin works as soon as you activate it. The settings under Settings > Christmas Snow are there when you want to change something.

Will this slow my site down?

The script is small, loads in the footer and defers. Flakes are drawn from cached sprites, and the animation stops entirely when the tab is not visible. To be extra careful, lower the flake count on the Motion tab, lower the Frame rate limit on the Advanced tab, or set Flake type to Soft dots (fastest).

Does it work on mobile?

Yes. Phones use their own, lower flake count (Flakes on mobile on the Motion tab). You can also show the snow on desktop only under Display Rules > Devices.

Can I use it with WooCommerce?

Yes. Use the WooCommerce cart, checkout and account pages option under Display Rules > Never show on to keep the snow off those pages, so nothing decorative sits between a customer and the pay button.

Can I show snow on only one page?

Yes, in two ways. Set Show on to Selected content types and pages on the Display Rules tab and list the page ID. Or turn on Only load where the shortcode is used on the Advanced tab and add [christmas_snow] to that page.

How do I make the snow appear only in December?

Open the Schedule tab, turn on Only show during a date range and set your start and end dates. The range repeats every year, and ranges that cross New Year are handled correctly.

Can visitors turn the snow off?

Yes. Turn on Let visitors turn the snow off on the General tab. A small button appears in the bottom left corner, and the visitor's choice is remembered in their own browser. Nothing is stored on your site.

Will I lose my settings when I update or deactivate?

No. Settings are kept when you deactivate the plugin and across updates. They are only removed if you delete the plugin. To keep a copy, use Download JSON file on the Tools tab.

Troubleshooting

The snow does not appear on my site.

Check these in order:

  1. Enable snowfall is on under General. The status badge at the top of the settings screen shows whether the snow is live.
  2. If Only show during a date range is on under Schedule, today must fall inside the range.
  3. On Display Rules, check Show on, These IDs, Devices, Visitors and Hide from these roles. If you hid the effect from your own role, you will not see it while logged in.
  4. If Only load where the shortcode is used is on under Advanced, the snow only shows on pages that contain [christmas_snow].
  5. If your device is set to reduce motion and Respect reduced motion is on, the animation does not run for you.
The snow covers my sticky header or a popup.

Lower the Layer (z-index) value on the General tab until the snow sits behind that element, then click Save changes. You can also use Limit to a container to confine the snow to one part of the page.

Desktop only or mobile only targeting shows the wrong result.

Device detection happens on the server, so a page cache that does not vary by device may serve the wrong version. Set Devices to All devices on the Display Rules tab and lower Flakes on mobile on the Motion tab instead.

The animation feels heavy on laptops or phones.

Lower Flakes on desktop and Flakes on mobile on the Motion tab, set Softness to 0 on the Appearance tab, switch Flake type to Soft dots (fastest), or lower the Frame rate limit on the Advanced tab (30 still looks smooth). Setting Cursor interaction to None also helps on very dense snowfall.

I changed many settings and want to start over.

Open the Tools tab and click Reset all settings. Every setting goes back to how it was when you first installed the plugin. Download a JSON file under Export settings first if you might want your current setup back.