2 回答

TA貢獻1798條經驗 獲得超7個贊
要將自定義字段添加到訂單中,您可以使用:
WordPressupdate_post_meta()函數(來自訂單 ID):
$order_id = $order->get_id(); // If needed
update_post_meta($order_id, 'referenceNumber', 'ordercreated'); // add and save the custom field
WooCommerceWC_Data update_meta_data()方法(來自訂單對象或訂單 ID):
$order = wc_get_order( $order_id ); // If needed: Get the WC_Order object from the order Id
$order->update_meta_data('referenceNumber', 'ordercreated'); // Add the custom field
$order->save(); // Save the data
其中referenceNumber是元鍵,ordercreated是元值。兩者都有效。
現在,要在客戶下訂單時向訂單添加自定義字段,您可以使用:
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_update_order_meta', 'add_custom_field_on_placed_order', 10, 2 );
function add_custom_field_on_placed_order( $order_id, $data ){
update_post_meta($order_id, '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 文件中。經過測試并有效。

TA貢獻1786條經驗 獲得超11個贊
您好,幾天前我有類似的要求,因為我需要在結賬時添加新字段。以下文章對我有幫助。你也可以檢查一下。鏈接在這里?;旧?,您將編寫一個函數,該函數將使用 woocommerce 掛鉤“woocommerce_default_address_fields” https://wisdmlabs.com/blog/add-custom-fields-woocommerce-checkout-page/
- 2 回答
- 0 關注
- 233 瀏覽
添加回答
舉報