更新时间:2023-11-30 13:08:22
要将自定义字段添加到订单中,可以使用:
To add a custom field to an order you can use:
WordPress update_post_meta()
函数(来自订单ID):
$order_id = $order->get_id(); // If needed
update_post_meta($order_id, 'referenceNumber', 'ordercreated'); // add and save the custom field
WooCommerce WC_Data
update_meta_data()
方法(来自订单对象或订单ID):
$order = wc_get_order( $order_id ); // If needed: Get the WC_Order object from the order Id
update_meta_data('referenceNumber', 'ordercreated'); // Add the custom field
$order->save(); // Save the data
其中 referenceNumber
是元密钥,而创建的订单
是元值.两者都可以.
Where referenceNumber
is the meta key and ordercreated
is the meta value. Both works.
现在要在订单中添加自定义字段客户下订单时,您可以使用:
Now to add a custom field to an order when customer place an order, you can use:
woocommerce_checkout_create_order
操作挂钩(保存订单数据之前-用于在保存之前调整订单数据):
add_action( 'woocommerce_checkout_create_order', 'add_custom_field_on_placed_order', 10, 2 );
function add_custom_field_on_placed_order( $order, $data ){
$order->update_meta_data( 'referenceNumber', 'ordercreated' );
}
woocommerce_checkout_update_order_meta
操作挂钩(订单已存在-用于添加自定义元数据):
add_action( 'woocommerce_checkout_create_order', 'add_custom_field_on_placed_order', 10, 2 );
function add_custom_field_on_placed_order( $order_id, $data ){
$order->update_meta_data( 'referenceNumber', 'ordercreated' );
}
woocommerce_checkout_order_created
操作挂钩(订单已存在-触发操作或添加自定义元数据):
add_action( 'woocommerce_checkout_order_created', 'add_custom_field_on_placed_order', 10, 2 );
function add_custom_field_on_placed_order( $order_id, $data ){
$order->update_meta_data( 'referenceNumber', 'ordercreated' ); // Add the custom field
$order->save(); // Save data (as order exist yet)
}
或者:
add_action( 'woocommerce_checkout_order_created', 'add_custom_field_on_placed_order' );
function add_custom_field_on_placed_order( $order ){
update_post_meta($order->get_id(), 'referenceNumber', 'ordercreated');
}
代码进入您的活动子主题(或活动主题)的functions.php文件中.经过测试,可以正常工作.
Code goes in functions.php file of your active child theme (or active theme). Tested and works.