2016-12-30 54 views
2

當客戶下訂單時,是否可以自動將客戶自定義字段的值複製到訂單的自定義字段中?將用戶自定義字段自動添加到訂單元數據

是否應該使用任何插件/擴展或在後臺通過自定義編碼完成?

此自定義字段不需要顯示在客戶訂單視圖上。我們只需要它來區分訂單是由消費者還是批發商在我們通過API獲得時發佈的。

我在這個系統中是全新的,我做了很多研究,但是找不到任何方向。

任何意見/建議將不勝感激。

+0

謝謝爲了您的快速回應,@LoicTheAztec!我只是編輯了這個問題,希望對你有意義。 – Zark

+0

非常感謝,@LoicTheAztec這是一段非常好的代碼。我已經標記爲答案。我會試試看,並讓你知道我是否卡在某處:) – Zark

回答

2

您可以使用woocommerce_thankyou鉤到這個用戶數據添加到順序元數據:

add_action('woocommerce_thankyou', 'orders_from_processing_to_pending', 10, 1); 
function orders_from_processing_to_pending($order_id) { 

    if (! $order_id) 
     return; 

    $order = wc_get_order($order_id); 
    $user_id = get_current_user_id(); 

    //Set HERE the meta key of your custom user field 
    $user_meta_key = 'some_meta_key'; 

    // Get here the user custom field (meta data) value 
    $user_meta_value = get_user_meta($user_id, $user_meta_key, true); 


    if (! empty($user_meta_value)) 
     update_post_meta($order_id, $user_meta_key, $user_meta_value); 
    else 
     return; 

} 

代碼放在您的活動子主題(活動主題的function.php文件或任何插件文件)。

此代碼已經過測試並可正常工作。

後,如果你想顯示在管理員修改訂單後端或前端客戶查看訂單和郵件通知該值,你將不得不使用更多的代碼和其他一些掛鉤...

相關問題