如何从Woo购物车页面发送元字段或文本到就绪订单?

时间:2019-05-03 12:25:54

标签: php wordpress woocommerce cart checkout

我需要从woocommerc购物车页面发送文本数据到就绪订单-按购物车项目数据。

1)单击CART PAGE上的GO TO CHECKOUT按钮时,将文本设置为第一个产品中的元字段 2)整理订单后,在“订单数据”中获取此元字段。

1)将元数据添加到购物车中。

$cart = WC()->cart->cart_contents;
foreach( $cart as $cart_item_id=>$cart_item ) {
    $cart_item['my_metafield'] = "text";
    WC()->cart->cart_contents[$cart_item_id] = $cart_item;
}
WC()->cart->set_session();

2)从订单项中获取元数据

add_action( 'woocommerce_order_status_complited' , 'get_my_metafield' , 10 , 1 );

function get_my_metafield ( $order ){

     How get ['my_metafield'] ? Product don`t have 'my_metafield'

}

1 个答案:

答案 0 :(得分:0)

此功能将购物车项目元字段添加到“订单项”元文件

add_action( 'woocommerce_checkout_create_order_line_item', function( $item, $cart_item_key, $values, $order )
{
    if ( isset( $values['my_metafield'] ) )     {
            $item->add_meta_data( "my_metafield", $values['my_metafield'] , true );
    }
}, 10, 4 );