How to prepare your WordPress website for Christmas

WordPress website

Many web project owners traditionally like to decorate their sites by placing, for example, falling snow, snowflakes, Santa Claus, a Christmas tree, and so on. In this article, we’ve rounded up a few WordPress plugins and themes to get your site ready for the upcoming holidays.

Christmas plugins for WordPress

Falling snow in a jetpack

If you are using the popular Jetpack plugin for WordPress, then you can enable falling snow on your site in the Settings → General section.

The disadvantage of snow from Jetpack is that it only falls until January 4, although using a filter you can shift this date, for example, until January 14:

add_filter( 'jetpack_is_holiday_snow_season', function( $snow ) {
$today = time();
$first_snow_day = mktime( 0, 0, 0, 12, 1 ); // December 1
$last_snow_day = mktime( 0, 0, 0, 1, 14 ); // January 14

$snow = ( $today >= $first_snow_day || $today < $last_snow_day );
return $snow;

WP Super Snow

The WP Super Snow plugin is a bit heavier than the Jetpack module, but it has additional settings, including the ability to use custom images for the falling snowflakes.

Countdown Clock

The Countdown Clock plugin adds a countdown widget that can be placed in the sidebar of your WordPress theme. In the settings for the widget, you can set any date, as well as the style and behavior of the widget.

Xmas Lights

The Xmas Lights plugin adds an animated garland to your website header. It does not have a settings page and works immediately after its activation. Please note that in some WordPress themes, the garland may overlap the navigation menu, especially on mobile devices.

Merry Christmas Everyone

With the Merry Christmas Everyone plugin, an animated Santa Claus with a mysterious sack will suddenly appear on your site.

The plugin allows you to specify the address where visitors will go if they click on Santa. This can be useful if your site is running some kind of New Year promotion. The plugin also has the ability to play an audio file and display falling multi-colored snow.

Christmas themes for WordPress


If you are a WordPress blogger, then the free Cheer theme will decorate your site with vibrant holiday colors and illustrations. It has a sidebar on the right and a full-width page template.


The free Spirit theme is also made specifically for blogs. It has support for post formats and a sidebar for your widgets.

One PageChristmas

One Page Premium One Page Christmas theme by DesignWall has a responsive design, a fixed navigation menu, and a number of add-ons that allow you to create a portfolio, place a list of services, team information, and much more.

Also see: How to Set Up Redirects in WordPress

Helpful Hints

If you want to change your default logo into a festive one, you can most likely do it with CSS. The following snippet, using the body_class filter, will add a class holiday to the main tag <body>for the New Year holidays:

function holiday_body_class( $classes ) {
$daynum = (int) date('z');
if ( $daynum > 349 || $daynum < 14 )
$classes[] = 'holiday';

return $classes;
add_filter( 'body_class', 'holiday_body_class' );

This way you can change your logo and not worry about forgetting it: .logo {
background-image: url(path/to/holiday-logo.png);

Date “copyright” in the basement

Many web site owners often forget to update the “copyright” date in the footer of their sites. Of course, this is not at all critical, but using the function date()you can get rid of this problem once and for all:

Copyright © <?php echo date( 'Y' ); ?>.

This way, your site will always display the current date.


Even online store owners want to take a little break during the holidays, but for e-commerce, the New Year holidays are often the most profitable, so make sure that your site is really working at this time.

This can be done using monitoring tools, such as the Pingdom service or the Jetpack plugin. Notifications about the unavailability of the site can also be sent by analytics tools and some hosting providers.


Leave a comment

Your email address will not be published. Required fields are marked *