如何将元值从自定义表单保存到Woocommere订单

时间:2015-08-26 19:14:39

标签: wordpress woocommerce

我定义了那两个应该将表格值保存到会话变量的函数。

add_filter( 'woocommerce_add_cart_item_data', 'add_cart_item_custom_data_vase', 10, 2 );
function add_cart_item_custom_data_vase( $cart_item_meta, $product_id ) {
  global $woocommerce;
  $cart_item_meta['colour'] = $_POST['colour'][$product_id];
  return $cart_item_meta; 
}

function get_cart_items_from_session( $item, $values, $key ) {
    if ( array_key_exists( 'colour', $values ) )
        $item[ 'colour' ] = $values['colour'];
    return $item;   
}
add_filter( 'woocommerce_get_cart_item_from_session', 'get_cart_items_from_session', 1, 3 );

但我不知道如何将该值保存为Woocommerce订单作为项目元。我试着用下面的方式,但我的价值(颜色)没有显示在商品中,也没有显示在$ _SESSION或$ _COOKIE中。

add_action('woocommerce_thankyou', 'add_my_meta', 1, 1);

function add_my_meta($order_id) {
   $order = new WC_Order($order_id);
   $items = $order->get_items(); /* this doesn't include colour item */
   foreach($items as $idx => $val){
       wc_update_order_item_meta( $idx, "colour",$what_variable); // here is my problem, what value use instead of $what_variable?
   }
}

0 个答案:

没有答案