2013-10-27 57 views
2

我想添加自定義字段到我手動添加到購物車的每個項目。自定義字段是從第三方API傳回的打印ID。添加自定義字段到購物車項目

這需要附加到購物車中的每個物品,以便一旦支付訂單就可以使用它們。

我試圖在手動添加到購物車時使用$ cart_item_data設置每個購物車項目的自定義字段。我不知道這是什麼,我需要做的,但神愛者面前:)

$woocommerce->cart->add_to_cart($product_id, 1, '', '', array(printJobId => 12345)); 

當我查看woocommerce我不能看到任何地方printJobId的順序。

有沒有人知道我要去哪裏錯了?

感謝

+0

你是如何試圖查看printJobId字段?它在默認情況下不會顯示在任何地方,您需要手動在某處顯示它 – danyo

+0

是訂購項目時在數據庫中設置的printJobId字段嗎? – Dez

回答

2

你需要另外兩個掛鉤:

add_action('woocommerce_get_cart_item_from_session', 'cart_item_from_session' , 99, 2); 

function cart_item_from_session($data, $values) { 
    $data[ 'printJobId' ] = isset($values[ 'printJobId' ]) ? $values[ 'printJobId' ] : ''; 
    return $data; 
} 

add_filter('woocommerce_add_order_item_meta', 'add_item_meta_order', 10, 3); 

function add_item_meta_order($item_id, $values) { 
    if (!is_null($values[ 'printJobId' ])) { 
     wc_add_order_item_meta($item_id, 'printJobId', $values[ 'printJobId' ]); 
    } 
} 

然後你會看到在後臺的元數據,並在訂單詳情頁面上

+0

你救了我的一天!謝謝! :) –

相關問題