Для отображения и сохранения пользовательских метаданных, добавленных в корзину в корзину, оформление заказа и заказы при использовании:
WC()->cart->add_to_cart( $product_id ,1, 0,array(), array('add_size' => array('PR CODE'=>'1.0') );
Вы будете использовать следующий код:
// Display custom cart item meta data (in cart and checkout)
add_filter( 'woocommerce_get_item_data', 'display_cart_item_custom_meta_data', 10, 2 );
function display_cart_item_custom_meta_data( $item_data, $cart_item ) {
$meta_key = 'PR CODE';
if ( isset($cart_item['add_size']) && isset($cart_item['add_size'][$meta_key]) ) {
$item_data[] = array(
'key' => $meta_key,
'value' => $cart_item['add_size'][$meta_key],
);
}
return $item_data;
}
// Save cart item custom meta as order item meta data and display it everywhere on orders and email notifications.
add_action( 'woocommerce_checkout_create_order_line_item', 'save_cart_item_custom_meta_as_order_item_meta', 10, 4 );
function save_cart_item_custom_meta_as_order_item_meta( $item, $cart_item_key, $values, $order ) {
$meta_key = 'PR CODE';
if ( isset($values['add_size']) && isset($values['add_size'][$meta_key]) ) {
$item->update_meta_data( $meta_key, $values['add_size'][$meta_key] );
}
}
Код входит вФайл function.php вашей активной дочерней темы (или активной темы).Проверено и работает.
Пример отображения на корзине (и оформление заказа) страниц:
Пример отображения заказов (и уведомлений по электронной почте):