Woocommerce: как сделать wc_add_order_item_meta на хуке woocommerce_add_to_cart?

Случай использования:

  1. пользователь выберет дату для продукта из списка и добавит
    товар в корзину по кнопке
  2. woocommerce_add_to_cart сработает и
  3. дата добавляется к элементу как мета с помощью wc_add_order_item_meta

    add_action( 'woocommerce_add_to_cart', 'add_event_date_meta',  10, 3 );
    
    function add_event_date_meta($cart_item_key, $product_id, $quantity) {
    $event_date = get_cart_item_event_date();
    $result = wc_add_order_item_meta( $product_id, '_event_date', $event_date);
    }
    

$ Result является действительным идентификатором, но мета _event_date не включена в элемент корзины покупок. Есть ли что-то, что я не правильно понимаю? Мета-ключ должен быть добавлен в элемент корзины, пока я получаю его идентификатор, или?

0

Решение

Благодарю вас helgatheviking а также LoicTheAztec за ваши комментарии. Решение, которое я нашел в helgatheviking«s руководство. Это именно то, что я искал:

    /*
* Add custom data to the cart item
* @param array $cart_item
* @param int $product_id
* @return array
*/
function kia_add_cart_item_data( $cart_item, $product_id ){
if( isset( $_POST['_custom_option'] ) ) {
$cart_item['custom_option'] = sanitize_text_field( $_POST['_custom_option'] );
}
return $cart_item;
}
add_filter( 'woocommerce_add_cart_item_data', 'kia_add_cart_item_data', 10, 2 );
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector