Как получить мета данные заказа WooCommerce API?

188
07 июля 2018, 21:00

Предисловие:

Используется модуль Fields Factory:

При выборе кофе, к нему можно добавить сахар. Когда совершается заказ, эта добавка числится в meta заказа.

Вопрос: как получить эти meta в конструкции ниже?

Возможно, вы знаете решения, как зарегистрировать эти добавки, чтобы с ними можно было потом работать в API? В идеале хочу добиться того, чтобы эти добавки получали свой артикул.

Этот код написала в functions.php, чтобы собрать информацию о заказе при его совершении.

$items = $order->get_items();
$sku = array();
$product_qty = array();
$product_price = array();
foreach( $items as $key => $item){
    $product_qty[] = $item['qty'];
    $product_price[] = $item['line_total'];
    $item_id = $item['product_id'];
    $product_item = wc_get_product($item_id);
    $sku[] = $product_item->get_sku();
}
Answer 1

Заказ - это пост. Получить метаданные любого поста можно с помощью get_post_meta(). В данном случае:

$order_meta = get_post_meta( $order->get_id() );
Answer 2

Данный код выводит мета данные товара. Пользовательские дополнения к товару не хранятся в мета заказа.

$order = wc_get_order( $order_id );
// Цикл WC_Order_Item_Product, чтобы получить элементы заказа для версии WC 3+
foreach( $order->get_items() as $item_id => $item_product ){
    // Получить общие данные в массиве: 
    $item_product_data_array = $item_product->get_data();
    // Получить специальные метаданные в массиве: 
    $item_product_meta_data_array = $item_product->get_meta_data();
    // Получать только дополнительные метаданные (отформатированные в незащищенном массиве)
    $formatted_meta_data = $item->get_formatted_meta_data();
} 
READ ALSO
Изменение битрейта аудио

Изменение битрейта аудио

Помогите, как сделать при помощи JS и PHP изменение битрейта аудио? Чтобы при загрузке аудио файла на сервер автоматически битрейт изменялся...

168
Помогите написать алгоритм!

Помогите написать алгоритм!

Задача о трех переговорных В офисе есть 3 переговорных комнаты: Aztec,Navajo и CherokeeВ переговорной Aztec помещается до 8 человек, есть проектор и маркерная...

163
Изменить путь в 'хлебных крошках'

Изменить путь в 'хлебных крошках'

Проблема с 'хлебными крошками' в WordPressЕсть страница, на которой выводятся статьи

209
Некорректно работает lastInserId

Некорректно работает lastInserId

Нужно генерировать ссылку на текущую игру, я ничего лучше не придумал как использовать lastInsertId, пишу на ООП, и выходит так что результат выполнения...

161