Version Description
- Added new functionality - Redirect.
=
Download this release
Release Info
Developer | wpdevart |
Plugin | Countdown Timer – Widget Countdown |
Version | 2.1.5 |
Comparing to | |
See all releases |
Code changes from version 2.1.4 to 2.1.5
- includes/admin_menu.php +13 -1
- includes/front_end.php +21 -5
- includes/gutenberg/block.js +11 -1
- includes/widget.php +27 -7
- readme.txt +6 -2
- wpdevart-countdown.php +1 -1
includes/admin_menu.php
CHANGED
@@ -190,16 +190,25 @@ class wpdevart_countdown_admin_menu{
|
|
190 |
<select id="countdownstart_on" >
|
191 |
<option selected="selected" value="hide">Hide countdown</option>
|
192 |
<option value="show_text">Show text</option>
|
|
|
193 |
</select>
|
194 |
</td>
|
195 |
</tr>
|
196 |
</tr>
|
197 |
-
|
198 |
<td>
|
199 |
Message after countdown expire <span title="Type the message that will appear after countdown time expire. " class="desription_class">?</span>
|
200 |
</td>
|
201 |
<td>
|
202 |
<textarea type="text" name="expeiret_text" id="expeiret_text"></textarea>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
203 |
</td>
|
204 |
</tr>
|
205 |
<tr>
|
@@ -404,6 +413,9 @@ class wpdevart_countdown_admin_menu{
|
|
404 |
if(jQuery('#countdown_hide_on_mobile').length)
|
405 |
variables=variables+'hide_on_mobile="'+jQuery('#countdown_hide_on_mobile').val()+'" ';
|
406 |
|
|
|
|
|
|
|
407 |
if(jQuery('#countdown_experet_date').length)
|
408 |
variables=variables+'end_date="'+jQuery('#countdown_experet_date').val()+'" ';
|
409 |
|
190 |
<select id="countdownstart_on" >
|
191 |
<option selected="selected" value="hide">Hide countdown</option>
|
192 |
<option value="show_text">Show text</option>
|
193 |
+
<option value="redirect">Redirect</option>
|
194 |
</select>
|
195 |
</td>
|
196 |
</tr>
|
197 |
</tr>
|
198 |
+
<tr>
|
199 |
<td>
|
200 |
Message after countdown expire <span title="Type the message that will appear after countdown time expire. " class="desription_class">?</span>
|
201 |
</td>
|
202 |
<td>
|
203 |
<textarea type="text" name="expeiret_text" id="expeiret_text"></textarea>
|
204 |
+
</td>
|
205 |
+
</tr>
|
206 |
+
<tr>
|
207 |
+
<td>
|
208 |
+
Redirect URL <span title="Type the redirect URL. " class="desription_class">?</span>
|
209 |
+
</td>
|
210 |
+
<td>
|
211 |
+
<input type="text" id="redirect_url" size="25" placeholder="http://www.example.com" value=""/>
|
212 |
</td>
|
213 |
</tr>
|
214 |
<tr>
|
413 |
if(jQuery('#countdown_hide_on_mobile').length)
|
414 |
variables=variables+'hide_on_mobile="'+jQuery('#countdown_hide_on_mobile').val()+'" ';
|
415 |
|
416 |
+
if(jQuery('#redirect_url').length)
|
417 |
+
variables=variables+'redirect_url="'+jQuery('#redirect_url').val()+'" ';
|
418 |
+
|
419 |
if(jQuery('#countdown_experet_date').length)
|
420 |
variables=variables+'end_date="'+jQuery('#countdown_experet_date').val()+'" ';
|
421 |
|
includes/front_end.php
CHANGED
@@ -54,6 +54,7 @@ class wpdevart_countdown_front_end{
|
|
54 |
"text_for_minut" => "Minutes",
|
55 |
"text_for_second" => "Seconds",
|
56 |
"start_time" => mktime (date("H"), date("i"), date("s"),date("n"), date("j"),date("Y")),
|
|
|
57 |
"countdown_end_type" => "time",
|
58 |
"hide_on_mobile" => "show",
|
59 |
"end_date" => date('d-m-Y 23:59'),
|
@@ -77,7 +78,7 @@ class wpdevart_countdown_front_end{
|
|
77 |
$time_diferent=$curent_time-mktime (date("H"), date("i"), date("s"),date("n"), date("j"),date("Y"));
|
78 |
}else{
|
79 |
$time_experit=explode(',',$curent_value['end_time']);
|
80 |
-
$time_diferent=(int)$time_experit[0]*24*3600+(int)
|
81 |
}
|
82 |
$day_left=(int)($time_diferent/(3600*24));
|
83 |
$hourse_left=(int)(($time_diferent-$day_left*24*3600)/(3600));
|
@@ -119,7 +120,7 @@ class wpdevart_countdown_front_end{
|
|
119 |
$time_diferent=$curent_time-mktime (date("H"), date("i"), date("s"),date("n"), date("j"),date("Y"));
|
120 |
}else{
|
121 |
$time_experit=explode(',',$parametrs_for_countedown['end_time']);
|
122 |
-
$time_diferent=(int)$time_experit[0]*24*3600+(int)
|
123 |
}
|
124 |
$day_left=(int)($time_diferent/(3600*24));
|
125 |
$hourse_left=(int)(($time_diferent-$day_left*24*3600)/(3600));
|
@@ -137,11 +138,26 @@ class wpdevart_countdown_front_end{
|
|
137 |
if($parametrs_for_countedown['action_end_time']=='hide'){
|
138 |
$parametrs_for_countedown['content']='';
|
139 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
140 |
$output_js.="
|
141 |
document.addEventListener('DOMContentLoaded', function(event) {
|
142 |
-
".
|
143 |
-
});
|
144 |
-
";
|
145 |
return $output_js;
|
146 |
}
|
147 |
|
54 |
"text_for_minut" => "Minutes",
|
55 |
"text_for_second" => "Seconds",
|
56 |
"start_time" => mktime (date("H"), date("i"), date("s"),date("n"), date("j"),date("Y")),
|
57 |
+
"redirect_url" => get_home_url(),
|
58 |
"countdown_end_type" => "time",
|
59 |
"hide_on_mobile" => "show",
|
60 |
"end_date" => date('d-m-Y 23:59'),
|
78 |
$time_diferent=$curent_time-mktime (date("H"), date("i"), date("s"),date("n"), date("j"),date("Y"));
|
79 |
}else{
|
80 |
$time_experit=explode(',',$curent_value['end_time']);
|
81 |
+
$time_diferent=(int)$time_experit[0]*24*3600+(int)+(int)$time_experit[1]*3600+(int)$time_experit[2]*60+(int)$curent_value['start_time']-mktime (date("H"), date("i"), date("s"),date("n"), date("j"),date("Y"));
|
82 |
}
|
83 |
$day_left=(int)($time_diferent/(3600*24));
|
84 |
$hourse_left=(int)(($time_diferent-$day_left*24*3600)/(3600));
|
120 |
$time_diferent=$curent_time-mktime (date("H"), date("i"), date("s"),date("n"), date("j"),date("Y"));
|
121 |
}else{
|
122 |
$time_experit=explode(',',$parametrs_for_countedown['end_time']);
|
123 |
+
$time_diferent=(int)$time_experit[0]*24*3600+(int)+(int)$time_experit[1]*3600+(int)$time_experit[2]*60+(int)$parametrs_for_countedown['start_time']-mktime (date("H"), date("i"), date("s"),date("n"), date("j"),date("Y"));
|
124 |
}
|
125 |
$day_left=(int)($time_diferent/(3600*24));
|
126 |
$hourse_left=(int)(($time_diferent-$day_left*24*3600)/(3600));
|
138 |
if($parametrs_for_countedown['action_end_time']=='hide'){
|
139 |
$parametrs_for_countedown['content']='';
|
140 |
}
|
141 |
+
$output_js_code='';
|
142 |
+
|
143 |
+
if(($day_left<=0 && $hourse_left<=0 && $minuts_left<=0 && $seconds_left<=0)){
|
144 |
+
if($parametrs_for_countedown['action_end_time']=='redirct'){
|
145 |
+
$output_js_code="window.location.replace('".$parametrs_for_countedown['redirect_url']."')";
|
146 |
+
}
|
147 |
+
elseif($parametrs_for_countedown['action_end_time']=='show_text'){
|
148 |
+
$output_js_code="jQuery('#main_countedown_".self::$id_for_content." .countdown').html('".htmlspecialchars($parametrs_for_countedown['content'])."')";
|
149 |
+
}
|
150 |
+
else{
|
151 |
+
$output_js_code="jQuery('#main_countedown_".self::$id_for_content." .countdown').html('')";
|
152 |
+
}
|
153 |
+
}else{
|
154 |
+
$output_js_code="setInterval(function(){countdown_wpdevart_timer('main_countedown_".self::$id_for_content."');},1000);";
|
155 |
+
|
156 |
+
}
|
157 |
$output_js.="
|
158 |
document.addEventListener('DOMContentLoaded', function(event) {
|
159 |
+
".$output_js_code."
|
160 |
+
});";
|
|
|
161 |
return $output_js;
|
162 |
}
|
163 |
|
includes/gutenberg/block.js
CHANGED
@@ -81,6 +81,11 @@
|
|
81 |
value: "",
|
82 |
default: ""
|
83 |
},
|
|
|
|
|
|
|
|
|
|
|
84 |
countdown_in_content_position:{
|
85 |
type: 'string',
|
86 |
value: "center",
|
@@ -194,8 +199,10 @@
|
|
194 |
wpda_countdown_fields.push(wpda_countdown_lb_days_hourse_minutes("countdownday","countdownhour","countdownminute","Countdown expire time","Type the Countdown expire time.",false,aditional_css_for_countdownday));
|
195 |
wpda_countdown_fields.push(wpda_countdown_lb_calendar_input("countdown_experet_date","Countdown expire date","Type the Countdown expire date.",false,aditional_css_countdown_experet_date));
|
196 |
wpda_countdown_fields.push(wpda_countdown_lb_simple_select("countdown_hide_on_mobile",hide_on_mobile_divace,"Show/Hide countdown on mobile devices","This option allow to show or hide countdown on mobile devices."));
|
197 |
-
wpda_countdown_fields.push(wpda_countdown_lb_simple_select("countdownstart_on",{"hide":"Hide countdown","show_text":"Show text"},"After Countdown expire","Select the action you prefere after Countdown time expire.",false,{color:'red'}));
|
198 |
wpda_countdown_fields.push(wpda_countdown_lb_simple_textarea("expeiret_text","Message after countdown expire","Type the message that will appear after countdown time expire."));
|
|
|
|
|
199 |
wpda_countdown_fields.push(wpda_countdown_lb_simple_select("countdown_in_content_position",{"left":"Left","center":"Center","right":"Right"},"Countdown timer position","Select the Countdown Timer position."));
|
200 |
wpda_countdown_fields.push(wpda_countdown_lb_simple_input_with_small("countdown_top_distance","Countdown distance from top","Type the Countdown distance from top(px).","(px)"));
|
201 |
wpda_countdown_fields.push(wpda_countdown_lb_simple_input_with_small("countdown_bottom_distance","Countdown distance from bottom","Type the Countdown distance from bottom(px).","(px)"));
|
@@ -430,6 +437,8 @@
|
|
430 |
shortcode_atributes = shortcode_atributes + ' content_position="' + props.attributes.countdown_in_content_position + '"';
|
431 |
shortcode_atributes = shortcode_atributes + ' top_ditance="' + props.attributes.countdown_top_distance + '"';
|
432 |
shortcode_atributes = shortcode_atributes + ' bottom_distance="' + props.attributes.countdown_bottom_distance + '"';
|
|
|
|
|
433 |
shortcode_atributes = shortcode_atributes + ' countdown_type="button"';
|
434 |
shortcode_atributes = shortcode_atributes + ' font_color="#000000"';
|
435 |
shortcode_atributes = shortcode_atributes + ' button_bg_color="#3DA8CC"';
|
@@ -439,6 +448,7 @@
|
|
439 |
shortcode_atributes = shortcode_atributes + ' font_size="30"';
|
440 |
shortcode_atributes = shortcode_atributes + ' countdown_font_famaly="monospace"';
|
441 |
shortcode_atributes = shortcode_atributes + ' animation_type=""';
|
|
|
442 |
return "[wpdevart_countdown "+shortcode_atributes+"]"+props.attributes.expeiret_text+"[/wpdevart_countdown]";
|
443 |
}
|
444 |
|
81 |
value: "",
|
82 |
default: ""
|
83 |
},
|
84 |
+
redirect_url:{
|
85 |
+
type: 'string',
|
86 |
+
value: "",
|
87 |
+
default: ""
|
88 |
+
},
|
89 |
countdown_in_content_position:{
|
90 |
type: 'string',
|
91 |
value: "center",
|
199 |
wpda_countdown_fields.push(wpda_countdown_lb_days_hourse_minutes("countdownday","countdownhour","countdownminute","Countdown expire time","Type the Countdown expire time.",false,aditional_css_for_countdownday));
|
200 |
wpda_countdown_fields.push(wpda_countdown_lb_calendar_input("countdown_experet_date","Countdown expire date","Type the Countdown expire date.",false,aditional_css_countdown_experet_date));
|
201 |
wpda_countdown_fields.push(wpda_countdown_lb_simple_select("countdown_hide_on_mobile",hide_on_mobile_divace,"Show/Hide countdown on mobile devices","This option allow to show or hide countdown on mobile devices."));
|
202 |
+
wpda_countdown_fields.push(wpda_countdown_lb_simple_select("countdownstart_on",{"hide":"Hide countdown","show_text":"Show text","redirect":"Redirect"},"After Countdown expire","Select the action you prefere after Countdown time expire.",false,{color:'red'}));
|
203 |
wpda_countdown_fields.push(wpda_countdown_lb_simple_textarea("expeiret_text","Message after countdown expire","Type the message that will appear after countdown time expire."));
|
204 |
+
wpda_countdown_fields.push(wpda_countdown_lb_simple_input("redirect_url","Redirect URL","Type here redirect URL."));
|
205 |
+
|
206 |
wpda_countdown_fields.push(wpda_countdown_lb_simple_select("countdown_in_content_position",{"left":"Left","center":"Center","right":"Right"},"Countdown timer position","Select the Countdown Timer position."));
|
207 |
wpda_countdown_fields.push(wpda_countdown_lb_simple_input_with_small("countdown_top_distance","Countdown distance from top","Type the Countdown distance from top(px).","(px)"));
|
208 |
wpda_countdown_fields.push(wpda_countdown_lb_simple_input_with_small("countdown_bottom_distance","Countdown distance from bottom","Type the Countdown distance from bottom(px).","(px)"));
|
437 |
shortcode_atributes = shortcode_atributes + ' content_position="' + props.attributes.countdown_in_content_position + '"';
|
438 |
shortcode_atributes = shortcode_atributes + ' top_ditance="' + props.attributes.countdown_top_distance + '"';
|
439 |
shortcode_atributes = shortcode_atributes + ' bottom_distance="' + props.attributes.countdown_bottom_distance + '"';
|
440 |
+
if(props.attributes.redirect_url)
|
441 |
+
shortcode_atributes = shortcode_atributes + ' redirect_url="' + props.attributes.redirect_url + '"';
|
442 |
shortcode_atributes = shortcode_atributes + ' countdown_type="button"';
|
443 |
shortcode_atributes = shortcode_atributes + ' font_color="#000000"';
|
444 |
shortcode_atributes = shortcode_atributes + ' button_bg_color="#3DA8CC"';
|
448 |
shortcode_atributes = shortcode_atributes + ' font_size="30"';
|
449 |
shortcode_atributes = shortcode_atributes + ' countdown_font_famaly="monospace"';
|
450 |
shortcode_atributes = shortcode_atributes + ' animation_type=""';
|
451 |
+
|
452 |
return "[wpdevart_countdown "+shortcode_atributes+"]"+props.attributes.expeiret_text+"[/wpdevart_countdown]";
|
453 |
}
|
454 |
|
includes/widget.php
CHANGED
@@ -46,6 +46,7 @@ class wpdevart_countdown extends WP_Widget {
|
|
46 |
$instance['start_time'] = $new_instance['start_time'];
|
47 |
$instance['content'] = $new_instance['content'];
|
48 |
$instance['action_end_time'] = $new_instance['action_end_time'];
|
|
|
49 |
$instance['content_position'] = $new_instance['content_position'];
|
50 |
$instance['top_ditance'] = $new_instance['top_ditance'];
|
51 |
$instance['bottom_distance'] = $new_instance['bottom_distance'];
|
@@ -68,7 +69,8 @@ class wpdevart_countdown extends WP_Widget {
|
|
68 |
'end_time' => '0,9,9',
|
69 |
'end_time_date' => date('d-m-Y 23:59'),
|
70 |
'action_end_time' => 'hide',
|
71 |
-
'
|
|
|
72 |
'content_position' => 'center',
|
73 |
'top_ditance' => '11',
|
74 |
'bottom_distance' => '11',
|
@@ -183,6 +185,7 @@ class wpdevart_countdown extends WP_Widget {
|
|
183 |
<br>
|
184 |
<select id="<?php echo $this->get_field_id('action_end_time'); ?>" name="<?php echo $this->get_field_name('action_end_time'); ?>">
|
185 |
<option <?php selected('show_text',$instance['action_end_time']) ?> value="show_text">Show text</option>
|
|
|
186 |
<option <?php selected('hide',$instance['action_end_time']) ?> value="hide">Hide Timer</option>
|
187 |
</select>
|
188 |
</p>
|
@@ -192,6 +195,11 @@ class wpdevart_countdown extends WP_Widget {
|
|
192 |
<br>
|
193 |
<textarea type="text" id="<?php echo $this->get_field_id('content'); ?>" name="<?php echo $this->get_field_name('content'); ?>"><?php echo $instance['content']; ?></textarea>
|
194 |
</p>
|
|
|
|
|
|
|
|
|
|
|
195 |
|
196 |
<p class="flb_field">
|
197 |
<label>Countdown position: </label>
|
@@ -362,15 +370,27 @@ class wpdevart_countdown extends WP_Widget {
|
|
362 |
|
363 |
/************************** JS Output Code ************************************/
|
364 |
$output_js='';
|
365 |
-
|
366 |
-
|
367 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
368 |
}
|
369 |
$output_js.="
|
370 |
document.addEventListener('DOMContentLoaded', function(event) {
|
371 |
-
".
|
372 |
-
});
|
373 |
-
";
|
374 |
|
375 |
/************************** CSS Output Code ***********************************/
|
376 |
|
46 |
$instance['start_time'] = $new_instance['start_time'];
|
47 |
$instance['content'] = $new_instance['content'];
|
48 |
$instance['action_end_time'] = $new_instance['action_end_time'];
|
49 |
+
$instance['redirect_url'] = $new_instance['redirect_url'];
|
50 |
$instance['content_position'] = $new_instance['content_position'];
|
51 |
$instance['top_ditance'] = $new_instance['top_ditance'];
|
52 |
$instance['bottom_distance'] = $new_instance['bottom_distance'];
|
69 |
'end_time' => '0,9,9',
|
70 |
'end_time_date' => date('d-m-Y 23:59'),
|
71 |
'action_end_time' => 'hide',
|
72 |
+
'redirect_url' => get_home_url(),
|
73 |
+
'content' => '',
|
74 |
'content_position' => 'center',
|
75 |
'top_ditance' => '11',
|
76 |
'bottom_distance' => '11',
|
185 |
<br>
|
186 |
<select id="<?php echo $this->get_field_id('action_end_time'); ?>" name="<?php echo $this->get_field_name('action_end_time'); ?>">
|
187 |
<option <?php selected('show_text',$instance['action_end_time']) ?> value="show_text">Show text</option>
|
188 |
+
<option <?php selected('redirect',$instance['action_end_time']) ?> value="redirect">Redirect</option>
|
189 |
<option <?php selected('hide',$instance['action_end_time']) ?> value="hide">Hide Timer</option>
|
190 |
</select>
|
191 |
</p>
|
195 |
<br>
|
196 |
<textarea type="text" id="<?php echo $this->get_field_id('content'); ?>" name="<?php echo $this->get_field_name('content'); ?>"><?php echo $instance['content']; ?></textarea>
|
197 |
</p>
|
198 |
+
<p class="flb_field">
|
199 |
+
<label for="<?php echo $this->get_field_id('redirect_url'); ?>">Redirect URL:</label>
|
200 |
+
<br>
|
201 |
+
<input id="<?php echo $this->get_field_id('redirect_url'); ?>" name="<?php echo $this->get_field_name('redirect_url'); ?>" type="text" value="<?php echo $instance['redirect_url']; ?>" class="widefat">
|
202 |
+
</p>
|
203 |
|
204 |
<p class="flb_field">
|
205 |
<label>Countdown position: </label>
|
370 |
|
371 |
/************************** JS Output Code ************************************/
|
372 |
$output_js='';
|
373 |
+
|
374 |
+
$output_js_code='';
|
375 |
+
|
376 |
+
if(($day_left<=0 && $hourse_left<=0 && $minuts_left<=0 && $seconds_left<=0)){
|
377 |
+
if($parametrs['action_end_time']=='redirect'){
|
378 |
+
$output_js_code="window.location.replace('".$parametrs['redirect_url']."')";
|
379 |
+
}
|
380 |
+
elseif($parametrs['action_end_time']=='show_text'){
|
381 |
+
$output_js_code="jQuery('#main_countedown_widget_".self::$id_for_content." .countdown').html('".htmlspecialchars($parametrs['content'])."')";
|
382 |
+
}
|
383 |
+
else{
|
384 |
+
$output_js_code="jQuery('#main_countedown_widget_".self::$id_for_content." .countdown').html('')";
|
385 |
+
}
|
386 |
+
}else{
|
387 |
+
$output_js_code="setInterval(function(){countdown_wpdevart_timer('main_countedown_widget_".self::$id_for_content."');},1000);";
|
388 |
+
|
389 |
}
|
390 |
$output_js.="
|
391 |
document.addEventListener('DOMContentLoaded', function(event) {
|
392 |
+
".$output_js_code."
|
393 |
+
});";
|
|
|
394 |
|
395 |
/************************** CSS Output Code ***********************************/
|
396 |
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: wpdevart
|
|
3 |
Donate link: http://wpdevart.com/wordpress-countdown-plugin
|
4 |
Tags: countdown, countdown widget, countdown timer, countdown system, countdown generator
|
5 |
Requires at least: 3.3.0
|
6 |
-
Tested up to: 5.4
|
7 |
-
Stable tag: 2.1.
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
@@ -498,6 +498,10 @@ Yes dear users, you need to pay only one time for pro version, it's lifetime pla
|
|
498 |
|
499 |
* Bug fixed.
|
500 |
|
|
|
|
|
|
|
|
|
501 |
== Step by step guide ==
|
502 |
|
503 |
### Options
|
3 |
Donate link: http://wpdevart.com/wordpress-countdown-plugin
|
4 |
Tags: countdown, countdown widget, countdown timer, countdown system, countdown generator
|
5 |
Requires at least: 3.3.0
|
6 |
+
Tested up to: 5.4.1
|
7 |
+
Stable tag: 2.1.5
|
8 |
License: GPLv3
|
9 |
License URI: http://www.gnu.org/licenses/gpl-3.0.html
|
10 |
|
498 |
|
499 |
* Bug fixed.
|
500 |
|
501 |
+
= 2.1.5 =
|
502 |
+
|
503 |
+
* Added new functionality - Redirect.
|
504 |
+
|
505 |
== Step by step guide ==
|
506 |
|
507 |
### Options
|
wpdevart-countdown.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Countdown Wpdevart
|
4 |
Plugin URI: http://wpdevart.com/wordpress-countdown-plugin/
|
5 |
Description: Countdown plugin is an nice tool to create and insert countdown timers into your posts/pages and widgets .
|
6 |
-
Version: 2.1.
|
7 |
Author: wpdevart
|
8 |
Author URI: http://wpdevart.com
|
9 |
License: GPL3 http://www.gnu.org/licenses/gpl-3.0.html
|
3 |
Plugin Name: Countdown Wpdevart
|
4 |
Plugin URI: http://wpdevart.com/wordpress-countdown-plugin/
|
5 |
Description: Countdown plugin is an nice tool to create and insert countdown timers into your posts/pages and widgets .
|
6 |
+
Version: 2.1.5
|
7 |
Author: wpdevart
|
8 |
Author URI: http://wpdevart.com
|
9 |
License: GPL3 http://www.gnu.org/licenses/gpl-3.0.html
|