WordPress Countdown Widget

Customizable, Easy to use jQuery powered CountDown/Up timer for your site. Includes both Widget and Shortcode!


Add jQuery count-down/count-up timers to your blog sidebar easily. Supports color customizations & multiple instances. Just drag’n drop. No coding required!

Documentation & Simple Tutorials to get you started:

Visit source on github


  1. Download the widget and upload it to your server through WP Admin -> Plugins -> Add New -> Upload
  2. After the upload is complete activate the plugin.
  3. Go to Appearance -> Widgets page, drag and drop the widget to your sidebar.
  4. Fill in the blanks as needed, and done!


WordPress Counntdown Widget
Preview of the widget


You can ask your questions here


42 thoughts on “WordPress Countdown Widget”

  1. I’ve changed the date on the countdown (showing days only). It shows the change in days left on the preview, but I cannot clear the old days left from showing on the live page – it does not update even after a 2 days. How do I clear the old days left?

  2. Hi there. Great widget. Using it to count down to our wedding! However, it’s 3 days out. Sending this on Mon 7th April and it says Sunday 25th May is 1 month, two weeks and THREE DAYS away when it should be 6 days. Any ideas?



  3. plugin worked great, very happy with it, but, when it is running in twenty twelve theme (no child) I can’t customize the theme, have to deactivate plugin, make changes, and reset the plugin.

      1. I tried to create same issue on my localhost, but it didn’t behave like that. This may be because of widget caching done by themes or plugins. Do you use a plugin like WPSuperCache or W3TotalCache?

  4. Hi,

    First of all many thank for this great widget!
    I noticed that there is a limitation when using multi-language configurations: when checking for the existence of language files, the code (in ../countdown-widget.php) only considers the first two characters of the language code:

    $lang = substr( get_bloginfo(‘language’), 0, 2 );

    Thus, if the code is (for example) en_US, only the ‘en’ is considered. This many work fine for the most situations, but fails in cases like pt_BR, zh_TW, zh_CN, etc.
    In order to correct or adjust this behavior, I have changed the code as follows:

    // localization
    $lnglang = get_bloginfo(‘language’); // Long (full) language code
    $shrlang = substr( $lnglang, 0, 2 ); // Short language code (just two first letters)

    if($lang!=’en’) {
    if(file_exists( plugin_dir_path(__FILE__) . ‘js/jquery.countdown-‘ . $lnglang . ‘.js’) ){
    wp_enqueue_script(‘countdown-l10n’, plugins_url(‘js/jquery.countdown-‘ . $lnglang .
    ‘.js’,__FILE__), ‘countdown’, ‘1.0’, false);
    elseif(file_exists( plugin_dir_path(__FILE__) . ‘js/jquery.countdown-‘ . $shrlang . ‘.js’) ){
    wp_enqueue_script(‘countdown-l10n’, plugins_url(‘js/jquery.countdown-‘ . $shrlang .
    ‘.js’,__FILE__), ‘countdown’, ‘1.0’, false);

    Greetings from São Paulo / Brazil!

  5. Hi,
    This is a great widget and does what I needed.

    However, I noticed from debug logs that is called a depreciated contructor method when extending WP_Widget, causing numerous notices in the error log.

    Near the beginning of your extension class shailan_CountdownWidget, replace;
    $this->WP_Widget(‘shailan-countdown-widget’, __(‘CountDown/Up Timer’), $widget_ops);
    parent::__construct(‘shailan-countdown-widget’, __(‘CountDown/Up Timer’), $widget_ops);

    From the WordPress code, I believe the old constructor was depreciated since version 4.3.0.
    I am using version 4.4.2.


Leave a Reply

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