Как отправить метаполе или текст со страницы корзины Woo в готовый Заказ? - PullRequest
1 голос
/ 03 мая 2019

Мне нужно отправить текстовые данные со страницы корзины woocommerc в готовый заказ - по данным корзины.

1) Установить текст в метаполе в первом продукте, когда нажмем кнопку ПЕРЕЙТИ К ПРОВЕРКЕ на СТРАНИЦЕ КАРТЫ 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 голосов
/ 05 мая 2019

Эта функция добавляет метаполе элементов корзины к метафайлам элементов заказа

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 );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...