You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改WooCommerce默认日期格式?自定义字段同步调整求助

解决WooCommerce订单日期及自定义取货日期格式问题

一、修复订单创建日期格式

你之前添加的代码报错,核心原因是函数名与钩子回调名称不匹配。将函数名改为小写开头,和钩子回调名保持一致即可,正确代码如下:

function woocommerce_date_format() {
    return 'F d, Y';
}
add_filter( 'woocommerce_date_format', 'woocommerce_date_format' );

把这段代码添加到子主题的functions.php文件末尾(?>之前)即可生效。

二、修改自定义pickup_date字段显示格式

针对Checkout Field Editor插件添加的pickup_date字段,需要额外通过钩子格式化输出,提供两种方案:

方案1:仅修改后台订单详情页显示

function format_pickup_date_admin_order( $order ) {
    $pickup_date = get_post_meta( $order->get_id(), 'pickup_date', true );
    if ( $pickup_date ) {
        $formatted_date = date( 'F d, Y', strtotime( $pickup_date ) );
        echo '<p><strong>' . __( '取货日期:', 'woocommerce' ) . '</strong> ' . $formatted_date . '</p>';
    }
}
add_action( 'woocommerce_admin_order_data_after_billing_address', 'format_pickup_date_admin_order', 10, 1 );

如果插件原本已显示该字段,需先在插件设置中隐藏原字段,再用此代码重新输出格式化后的日期。

方案2:全局修改字段输出格式(含前端订单页)

function format_pickup_date_meta( $value, $meta_key, $order ) {
    if ( 'pickup_date' === $meta_key && $value ) {
        return date( 'F d, Y', strtotime( $value ) );
    }
    return $value;
}
add_filter( 'woocommerce_get_order_item_meta', 'format_pickup_date_meta', 10, 3 );

这段代码会统一修改pickup_date在所有场景的输出格式。

三、注意事项

  • 修改代码前务必备份functions.php文件,防止出错无法恢复。
  • 确保WordPress时区设置为澳大利亚珀斯,保证日期转换的准确性。
  • 修改后若未生效,尝试清除WordPress缓存及浏览器缓存。

内容的提问来源于stack exchange,提问作者Julie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 20:55:03