登录
首页 >  文章 >  php教程

WooCommerce添加预计送达时间教程

时间:2026-02-03 15:48:38 303浏览 收藏

学习知识要善于思考,思考,再思考!今天golang学习网小编就给大家带来《WooCommerce 添加预估送达日期方法》,以下内容主要包含等知识点,如果你正在学习或准备学习文章,就都不要错过本文啦~让我们一起来看看吧,能帮助到你就更好了!

如何在 WooCommerce 商品页添加预估送达日期范围

本文介绍如何通过 WordPress 钩子和 PHP 时间函数,在 WooCommerce 商品详情页动态显示“预估送达日期范围”,例如“Estimated delivery by 24 Feb, Thursday to 26 Feb, Saturday”,并确保日期计算准确、格式可读、时区安全。

要在 WooCommerce 商品页面(single product)展示专业、可信的预估送达时间范围,推荐使用 woocommerce_single_product_summary 钩子挂载自定义函数。以下是一个完整、健壮且可直接部署的实现方案:

add_action('woocommerce_single_product_summary', 'delivery_date_range', 11);

function delivery_date_range() {
    // 获取当前日期(服务器本地时间,建议配合时区设置)
    $today = date('Y-m-d');

    // 计算「最早送达日」:订单日后第 3 天(含当日为第 0 天 → +3 days = 第 3 个工作日后)
    $date_from = date('j M, l', strtotime($today . ' + 3 days'));

    // 计算「最晚送达日」:订单日后第 5 天(即 +5 days)
    $date_to   = date('j M, l', strtotime($today . ' + 5 days'));

    $html = "<br><div class='delivery-estimate'><strong>Estimated delivery by {$date_from} to {$date_to}</strong></div>";
    echo $html;
}

关键说明与最佳实践:

  • date('j M, l') 输出如 24 Feb, Thursday —— j(无前导零日期)、M(缩写月份)、l(完整星期名,注意是小写 L),语义清晰且符合用户阅读习惯;
  • 避免硬编码时区:原示例中 date_default_timezone_set('India') 写法错误(应为 'Asia/Kolkata'),且不推荐在函数内动态设置——请统一在 wp-config.php 中配置:
    date_default_timezone_set('Asia/Kolkata');

    或更优方案:在 WordPress 后台 → 设置 → 常规 → 时区中正确设定,WP 会自动应用;

  • ⚠️ 注意:strtotime('+3 days') 基于服务器当前时间,适用于“今日下单”的场景;如需支持购物车/结算页的实时计算(考虑下单时间而非浏览时间),应改用 JavaScript 或 AJAX 动态渲染;
  • ? 可扩展性提示:若需排除周末或节假日,建议引入自定义工作日计算器(如基于 DateTime + DatePeriod 迭代判断),而非简单 +N days。

最后,建议为 .delivery-estimate 添加轻量 CSS 样式提升可读性(例如字体加粗、上边距、颜色区分),确保信息在商品页中醒目而不突兀。此方案简洁、兼容性强,适用于绝大多数 WooCommerce 主题环境。

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《WooCommerce添加预计送达时间教程》文章吧,也可关注golang学习网公众号了解相关技术文章。

前往漫画官网入口并下载 ➜
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>