讲师中心 微信公众号
AI工具推荐 视频效率加速

如何在 WooCommerce 前台「我的订单」页面显示预约日期

轻辰同学_9197

轻辰同学_9197

发布时间:2026-02-09 22:30:10

|

422人浏览过

|

来源于php中文网

原创

如何在 WooCommerce 前台「我的订单」页面显示预约日期

本文详解如何在 woocommerce 用户中心的订单列表中新增一列并正确显示 jetappointment(crocoblock)插件保存的预约日期,重点解决 `get_meta()` 无法读取 `_appointment_date` 自定义字段的问题。

在 WooCommerce 前台「我的账户 → 订单」页面中添加预约日期列,是提升服务类电商用户体验的重要优化。虽然你已成功注册新列(如“Date de livraison”),但数据显示为空,根本原因在于:JetAppointment 插件通常将 _appointment_date 存储为订单关联的「订单项(order item)」元数据,或直接写入订单所属的「订单父级 post meta」,而非 WooCommerce 订单对象原生支持的 get_meta() 可直接访问的上下文。

WooCommerce 的 $order->get_meta( '_appointment_date' ) 仅能读取通过 $order->update_meta_data() 或 wc_update_order_item_meta() 等标准 WC 方法写入的、且明确绑定到订单对象的元数据。而 CrocoBlock 的 JetAppointment 默认使用 WordPress 原生 update_post_meta() 将预约信息存于订单对应的 post ID 下——此时必须改用 get_post_meta() 才能准确获取。

✅ 正确实现代码如下(推荐整合版,含健壮性处理):

// 1. 在「我的订单」表格中添加新列
add_filter( 'woocommerce_account_orders_columns', 'add_appointment_date_column', 20 );
function add_appointment_date_column( $columns ) {
    // 在「状态」列后插入新列(可按需调整位置)
    $new_columns = array();
    foreach ( $columns as $key => $label ) {
        $new_columns[ $key ] = $label;
        if ( 'status' === $key ) {
            $new_columns['appointment_date'] = __( '预约日期', 'your-textdomain' );
        }
    }
    return $new_columns;
}

// 2. 渲染该列内容
add_action( 'woocommerce_my_account_my_orders_column_appointment_date', 'display_appointment_date_in_orders' );
function display_appointment_date_in_orders( $order ) {
    $order_id = $order->get_id();

    // ✅ 关键修正:使用 get_post_meta() 读取 JetAppointment 写入的 post meta
    $appointment_date = get_post_meta( $order_id, '_appointment_date', true );

    // 额外兼容:部分版本可能存储为时间戳,尝试格式化
    if ( $appointment_date && is_numeric( $appointment_date ) && $appointment_date > 1000000000 ) {
        $appointment_date = date_i18n( get_option( 'date_format' ), $appointment_date );
    } elseif ( ! empty( $appointment_date ) && strtotime( $appointment_date ) ) {
        $appointment_date = date_i18n( get_option( 'date_format' ), strtotime( $appointment_date ) );
    }

    echo ! empty( $appointment_date ) 
        ? esc_html( $appointment_date ) 
        : '<span class="na">–</span>';
}

? 重要注意事项:

  • 不要使用 $order->get_meta():它不适用于 JetAppointment 的默认存储方式;
  • 务必检查 _appointment_date 的实际存储位置:可通过 phpMyAdmin 查询 wp_postmeta 表,筛选 post_id = [你的订单ID] 且 meta_key = '_appointment_date' 确认存在;
  • 多语言兼容:date_i18n() 自动适配 WordPress 当前语言与日期格式设置;
  • 性能提示:该逻辑在订单列表每行执行一次,属轻量操作,无需额外缓存;
  • 扩展建议:若需显示更丰富的预约信息(如时段、服务人员),可同样用 get_post_meta( $order_id, '_appointment_time' ) 等键名读取。

完成以上修改后,刷新「我的订单」页面,即可看到各订单旁清晰显示由 JetAppointment 提交的预约日期。此方案稳定兼容 WooCommerce 6.x + JetAppointment 2.x+,是服务型站点订单可视化的核心实践之一。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

火山引擎

火山引擎是一款面向企业的云计算与AI服务平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

相关专题

更多
常用的mysql管理工具
常用的mysql管理工具

常用的mysql管理工具有:1、MySQL Workbench、phpMyAdmin、MySQL Shell、Navicat、DBeaver和DataGrip。更多关于mysql管理工具的问题,详情请看本专题下面的文章,php中文网欢迎大家前来学习。

5950

2023.11.03

phpmyadmin导入sql文件失败怎么办
phpmyadmin导入sql文件失败怎么办

在phpmyadmin导入sql文件失败时,可以尝试以下解决方案:1、检查文件权限和格式;2、确保文件字符集与数据库兼容;3、确认表结构兼容;4、检查外键约束和禁用外键检查;5、增加最大上传文件大小;6、分批导入或使用命令行导入;7、联系托管提供商寻求帮助。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3684

2024.04.02

phpmyadmin怎么改成中文
phpmyadmin怎么改成中文

通过安装中文语言包、将其上传到 phpmyadmin 目录、修改配置文件和重启 phpmyadmin,可以将 phpmyadmin 的界面改为中文。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

821

2024.04.07

phpmyadmin访问不了怎么回事
phpmyadmin访问不了怎么回事

phpmyadmin 无法访问可能是以下原因造成:1、服务器问题:mysql 服务未运行或防火墙阻止访问;2、配置问题:安装/配置错误、错误的配置文件设置或缺少必要的 php 扩展;3、浏览器问题:浏览器缓存、扩展干扰或浏览器不兼容;4、其他原因:dns 问题、恶意软件或网络连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

919

2024.04.07

phpMyAdmin安装教程大全
phpMyAdmin安装教程大全

本专题整合了phpMyAdmin程序安装相关教程,阅读专题下面的文章了解更多详细内容。

925

2025.10.31

PHPMyadmin配置
PHPMyadmin配置

本专题整合了phpmyadmin配置相关教程,阅读专题下面的文章了解更多详细步骤。

549

2025.12.04

XAMPP 与 phpMyAdmin 数据库管理实操
XAMPP 与 phpMyAdmin 数据库管理实操

专注于 XAMPP 内置的 phpMyAdmin 数据库管理工具,系统讲解数据库和数据表的创建与设计、SQL 语句执行、CSV/SQL 格式数据的导入导出、定时备份与一键还原、多数据库批量管理等日常操作,帮助开发者高效管理本地 MySQL 数据。

355

2026.04.08

wordpress seo
wordpress seo

WordPress网站SEO优化方法有:1、选择一个SEO友好的主题,具有清晰的代码结构,快速的加载速度和响应式设计;2、使用SEO插件,优化你的标题标签,元描述,关键字,XML站点地图等;3、优化你的内容,内容是SEO优化的核心;4、优化你的网站速度;5、创建友好的URL;6、使用内部链接;7、优化图像;8、使用社交媒体;9、定期更新你的网站;10、监控和分析你的网站等等。

5855

2023.09.18

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

0

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn