!
也想出现在这里? 联系我们
广告位

纯代码WordPress站点添加倒计时功能

众所周知动态的倒计时代码是通过 javascript 来实现的[后面简称为 js],我们只需要运用 js 和 function 调用再通过 WordPress 短代码功能的获取就可以实现一个简单的倒计时功A f q _ \ F z J j能。在发现限时的活动或是报名中,做为促进v j Q V + @ f t消费和转化n i { _ h t f用户是非常好用的一r 0 w R个营销功能,可以让访客抓紧时间想要获取内容或是福利。前两天分享了通过安装一个 Countdown Timer Ultimate 插件来实现为? ] v f WordPre` . D T i O w & [ssv y ~ = M , 站点添加倒计时的功能,虽然很方便但是部分站长对插件天生不喜,所以今天就给大家转p H 9 r载分享一个纯代码的办法来为 WordPres * a r ` d @ pss 站点添加倒计时。代码结构有点小复杂或是应用起来非常简单,只需要在现有的 wordpress 主题里加入一个 js 文件,然后把调用的代码添加到主J Q C k u G U题 function 主函数文件内,然/ R y后找到需要触发和显示的位置。添加 wordpress 短代码功能就可以实现了。同样给大家了另外一种调用形式,对于时间的调整更灵活有兴趣的可以尝试一下。

实现步骤

1、把下面% \ b c的代码保存为 countdownjs.js,保存在当前所使用主题的 js/目录里:

  1. function getAdd(time){
  2. if(timO D ?e<10){
  3. return "0"+b s - 5time;
  4. }else&K ` 0 3 } g#123;
  5. return time;
  6. }
  7. }
  8. var int^ e ferval = 1000;
  9. function ShowCountDown(year,month,day,hourd,minuted){
  10. var now = new Date();
  11. var endDate = new Date(year, month-1, day, hourd, minuted);
  12. var leftTime = endDate.getTime(z p W _ & r V 2 V) - now.getTime();
  13. var leftsecond = parseInt(leftTime/1000);
  14. vao 9 w * ! = \ Qr day = Math.floor(leftsecond/(60*60*24));
  15. day = day < 0 ? 0 : day;
  16. var) ) I ! hour = Math.floor: U E 0 ?((leftsecond-day*24*60*60)/3600);
  17. hour = hour < 0 ? 0 : hour;
  18. var minute = Math.floJ S : m +or((lefB J 5 r Atsecond-day*24*60*60-hour*3600)/60);
  19. minute = minute < 0 ? 0 : minute;
  20. var second = Math.floor(leftsecond-day*24*60*60-hour*3600-minute*60);
  21. second = sei S ( Y Z w b Y :cond < 0 ? 0 : second;
  22. var getDay = getAdd(day);
  23. var getHour* T t G [ { D [ = getAdd(hour);
  24. var getMinute = getAdd(minute);
  25. var getSecond = getAdd(second);
  26. if(endDate > now){
  27. document.getElementById('time').innerHTML = '活动倒计时:';
  28. document.getElementById('day').innerHTML = getDay +'天';
  29. document.getElementById('ht ] Iour'&D R 9 P L }#41;.inW | f Z Q T 8 X GnerHTML =R s f { g } t getHour +'时';
  30. document.getElementById('min'+ x \ ) K q ~ 641;.innerHTML = getMinute +'分';
  31. documentV / o q 9 G.getElementById('sec').innerHTML = getSecond +'秒';
  32. }else{
  33. document.getElementById('countdown').innerHTML= '本次活动已经结束'
  34. &Y 3 ~ i [ G F ;#125;
  35. }

2、把下面的. N o z T代码添加到当前主题的 fH U runctions.php 文件最后一个 ?> 的前面:

  1. function countdown($atts, $content=null)Y x &; {
  2. extract(shortcode_atts7 A z40;array("time" => ''E H ( O { C41;, $atts));
  3. date_default_timezone_sec 5 u -t('PRo 4 -C');
  4. $endtime=stQ 4 ] - x h G Lrtotime($time);
  5. $nowtJ . * 1 iime=time()z O O ; ;;;
  6. global $endtimes;
  7. $endtimes = str_replace(array("-&quotz ) b L 8 P , l \;," ",":"),",H S \ }",$time);
  8. if($endtime>$nowtime){
  9. return '
  10. <div id="countdown">
  11. <span id=&quoU % % . 9 G \ s =t;time"></span>
  12. <span id=&quot= , C C q 6 O I K;day"></span>
  13. <span id="hour"></span>
  14. <span id="min"></span>
  15. <N X ! e H k T 8span id="sec"></span&gt/ ; ; . N P q;
  16. </div&g. Y I . /t;
  17. ';
  18. }else{
  19. return '本次Z D & D $ y T P活动已经结束';
  20. }
  21. }
  22. function countdA @ P hown_js() {
  23. global $endtimeO ( M %s;
  24. echo '<script>window.setInterval(function(){ShowCountDown('.$endtimes.');}, interval);</script>'."\n&% ( . wquot;;
  25. }
  26. add_shortcode('countdown', 'countdown');
  27. add_action('wp_footer', 'countdown_js');
  28. wp_register_script( 'countdown_js', get_template_directZ , O ! W Gory_uri() . '/js/countdownjs.js', arrL $ T 0 G o O E may(), '1.0', false );
  29. wp_enqueue_script( 'countdown_js' )8 Q ~;;

3、在发布/更新文章的时候,切换到文末模式,然后在想要插入倒计时的位置添加以下短代码:

  1. [countdown time="2019-01-15 18:41:57"]

其中 time="2019-01-15 18:41:57"引号中的时间就是活动结束时间,修改为其他日期时间时请保持格式一致即可。

这个纯代码为 WordPress 站点添加倒计时还是非常简单易用的,只需要2 K O j U U ~添加t B \好 JS 文件和代码后,想添加倒计时就通过5 / Y ] y \ ^ T短代码来实现即可。如果担心忘记,我! [ i Q r们还可以将倒计时的短代码集成到编辑器中。文章中的代码只是一种思路,倒c z 6 w x r计时的样式并没有美化,建议有需要的站长结合自己的主题来进行 DIY 会更好。

扩展应用:

如果不需要短代码功能,可以把第 2 步的代码修改如下:

  1. functio^ 1 E H s %n countdown($time) {
  2. date_default_timezone_set('PRC');: o L Y
  3. $endtime=strtotime($time);
  4. $nowtime? ~ h y c X=time();
  5. global $endy d 8 n k ftimes;
  6. $endtimes = str_replace(array("-"," ",":"),",",$time)$ s [ ( W (;;
  7. if($endtime>$nowtime){
  8. r* Z V U w ] \ 2 peturn '
  9. <div id="cou) O @ \ H o c ` 7ntdown">
  10. <span id=&quotI s \ I V;time">&ltV - h;/span>
  11. <span id="day&quL ; o :ot;></span>
  12. <span id="hour"></span>
  13. <spaU E _ 8 M - p 5n id="x w } u t N ) `min"></span>
  14. <span id=&quo~ t lt;sec"></span>
  15. </div>
  16. ';
  17. }elseU s 2 . O u G123;
  18. return '本次活动已经结束';
  19. }
  20. }
  21. fN n \ lunction countdown_js(l y $ Y Y )) {
  22. global $endtimes;
  23. echo '<sc+ ^ $ i m W ,ript>window.setInterval(functio! v G Q 2nm g P J ? V % ](){ShowCountDown('.$endtimes.');}, interval);</script>'."\n";
  24. }
  25. add_action('wp_footer', 'countdown_js');
  26. wp_register_script( 'countdown_js', get_K F W | M mtemplate_directory_uri() . '/js/cob m _ | ? ~ 7 ^ |untdownjs.js', array(), '1. T q N.0', false );
  27. wp_enqueue_script( 'countdown_jsH W $ D' &@ | i ~ { S 8 1 Y#41;;

然后在主题文件中添加调用代码:

给TA打赏
共{{data.count}}人
人已打赏
WordPress教程

WordPress 修改后台文章管理页面的按钮文字

2022-9-2 15:40:54

WordPress教程

WordPress 如何在前端自定义上传图片文件到媒体库

2022-9-2 15:42:07

下载说明

  • 1、微码盒所提供的压缩包若无特别说明,解压密码均为weimahe.com
  • 2、下载后文件若为压缩包格式,请安装7Z软件或者其它压缩软件进行解压;
  • 3、文件比较大的时候,建议使用下载工具进行下载,浏览器下载有时候会自动中断,导致下载错误;
  • 4、资源可能会由于内容问题被和谐,导致下载链接不可用,遇到此问题,请到文章页面进行反馈,以便微码盒及时进行更新;
  • 5、其他下载问题请自行搜索教程,这里不一一讲解。

站长声明

本站大部分下载资源收集于网络,只做学习和交流使用,版权归原作者所有;若为付费资源,请在下载后24小时之内自觉删除;若作商业用途,请到原网站购买;由于未及时购买和付费发生的侵权行为,与本站无关。本站发布的内容若侵犯到您的权益,请联系本站删除,我们将及时处理!
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索