WooCommerce显示计划优惠倒计时

在WooCommerce中,可以设置计划优惠,从开始到结束日期享受一定优惠,但是默认的却不显示优惠时间倒计时,于是我决定研究一下。写出了下面的代码:

add_filter("woocommerce_get_price_html",function($price_html){
    $sale_end_date = (int)get_post_meta(get_the_ID(), '_sale_price_dates_to', true);
    if($sale_end_date > time()){//在计划促销中
    $formatted_sale_end_date = date('Y-m-d H:i:s', $sale_end_date);
    return $price_html.'
    <span id="kekccountdown" style="float: right">
        <span class="D"></span>
        <span class="H"></span>
        <span class="M"></span>
        <span class="S"></span>
    </span>
    ';
    }else{
        return $price_html;
    }
});

add_action("wp_footer",function(){
    $sale_end_date = (int)get_post_meta(get_the_ID(), '_sale_price_dates_to', true);
    if($sale_end_date > time()){//在计划促销中
    $formatted_sale_end_date = date('Y-m-d H:i:s', $sale_end_date);
   echo '<script>
  var endTime = new Date("'.$formatted_sale_end_date.'").getTime();

  function updatekekcCountdown() {
    var now = new Date().getTime();
    var timeRemaining = endTime - now;

    var days = Math.floor(timeRemaining / (1000 * 60 * 60 * 24)) + "Days ";
    var hours = Math.floor((timeRemaining % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)) + "Hours ";
    var minutes = Math.floor((timeRemaining % (1000 * 60 * 60)) / (1000 * 60)) + "Min ";
    var seconds = Math.floor((timeRemaining % (1000 * 60)) / 1000) + "Sec";

    document.querySelector("#kekccountdown > .D").innerText = days;
    document.querySelector("#kekccountdown > .H").innerText = hours;
    document.querySelector("#kekccountdown > .M").innerText = minutes;
    document.querySelector("#kekccountdown > .S").innerText = seconds;
  }

  setInterval(updatekekcCountdown, 1000);
  updatekekcCountdown();
</script>';
}
});

woocommerce_get_price_html钩子可以改到简短描述里面,感觉兼容性更好。另外倒计时写的很简单,可以使用其他库或者写好的更加美观,也可以使用主题、插件自带的短代码。

可能你要对kekccountdown元素进行一些显示限制以及样式修改,我说几个重要的,只在单个产品的价格下显示

.kekccountdown{
display:none
}
.product-image-summary-wrap .kekccountdown{
display:block !important
}

最终我结合公司的业务进行了深改,写下来的样式是这样的,一个电脑端,一个手机端:

图片[1]-WooCommerce显示计划优惠倒计时 - KEKC博客-KEKC博客
图片[2]-WooCommerce显示计划优惠倒计时 - KEKC博客-KEKC博客
© 版权声明
THE END
喜欢就支持一下吧
点赞4 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称常用语 夸夸
夸夸
还有吗!没看够!
表情代码图片

    暂无评论内容