如何在WooCommerce订单号后追加支付页order_comments自定义数字?
实现WooCommerce订单ID追加支付备注数字的方案
你的需求完全可行,只需修改现有代码,获取用户在支付页填写的订单备注(order_comments字段)并拼接到订单ID后缀即可。以下是调整后的完整代码:
add_action( 'init', 'add_product_to_cart' ); add_filter( 'woocommerce_order_number', 'change_woocommerce_order_number' ); function change_woocommerce_order_number( $order_id ) { $prefix = '#'; $suffix_label = ' - File: '; // 获取订单对象 $order = wc_get_order( $order_id ); // 获取用户在支付页填写的备注 $customer_note = $order ? $order->get_customer_note() : ''; // 拼接订单ID:如果备注为空,只显示前缀+订单ID;否则追加备注 if ( ! empty( $customer_note ) ) { $new_order_id = $prefix . $order_id . $suffix_label . $customer_note; } else { $new_order_id = $prefix . $order_id; } return $new_order_id; }
关键说明:
- 通过
wc_get_order($order_id)获取对应订单的完整对象,这是WooCommerce获取订单字段的标准方式 get_customer_note()方法专门用于提取用户在支付页填写的订单备注(对应order_comments字段)- 增加空值判断逻辑,避免备注为空时显示多余的“- File: ”文本
将上述代码替换你原有函数即可生效,建议将代码放在当前主题的functions.php文件末尾,或者使用自定义代码插件添加。
内容的提问来源于stack exchange,提问作者Tom Kidd
相关产品推荐
相关产品推荐

