2016-12-14 64 views
3

我的購物車我動態地創建一些元數據爲每個項目從函數位於functions.php。保存woocommerce ITEM元數據

在結帳時,我想爲當前訂單的每個項目保存每個元數據。

這樣,一旦訂單完成,我需要顯示這些數據在商業管理和woocommerce電子郵件。

基本上,我需要在訂單完成時保存$ date_start,$ duration,$ end_date 並在woocomerce管理員和電子郵件中接收這些數據。

function get_infos_order ($date_start,$duration){ 


$end_date   = strtotime('+ '.$duration, $date_start); 



} 

請問有人可以提出一些建議,請問該怎麼做?

非常感謝。

+0

請你能提供,編輯你的問題,此刻你正在使用的所有代碼。謝謝 – LoicTheAztec

+0

它只是在factions.php中計算的變量,我想用我的訂單項目保存... – Pipoo

+0

是的,但是如何讓它們放在購物車中...使用相關的代碼更新您的問題,這樣將更容易幫你。在StackOverFlow中,我們幫助那些已經在他們的問題中提交了一些代碼的人,儘可能提供更多詳細信息... – LoicTheAztec

回答

0

保存他們使用此功能:

function add_order_item_meta($item_id, $values) { 
    $key = ''; // Define your key here 
    $value = $_POST['key_name']; // Get your value here 
    woocommerce_add_order_item_meta($item_id, $key, $value); 
} 
add_action('woocommerce_add_order_item_meta', 'add_order_item_meta', 10, 2); 
+1

你好,非常感謝! – Pipoo

1

穆罕默德Muazzam的解決方案是好的,但woocommerce_add_order_item_meta已被棄用,你必須使用wc_add_order_item_meta

function add_order_item_meta($item_id, $values) { 
    $key = ''; // Define your key here 
    $value = filter_input(INPUT_POST, 'key_name'); // Safer retrieval 
    wc_add_order_item_meta($item_id, $meta_key, $meta_value); 
} 
add_action('woocommerce_add_order_item_meta', 'add_order_item_meta', 10, 2); 

來源:https://docs.woocommerce.com/wc-apidocs/source-function-woocommerce_add_order_item_meta.html#428-433

+2

非常感謝! – Pipoo