## Функция WC_GET_ORDER() │ WC 2.2
Функция WC_GET_ORDER() позволяет получить данные о конкретном заказе в WooCommerce. Эта функция служит "оберткой" для получения объекта заказа, с помощью которого вы можете получить любую информацию о заказе и его элементах.
Функция основана на классе WC_Order_Factory.
Важно! Не все данные о заказе можно получить напрямую из объекта. Для некоторых данных необходимо использовать специальные методы класса (подробнее в примерах).
Использует: WC_Order_Factory::get_order()
### Возвращаемые значения
Функция возвращает одно из следующих значений:
- true — если операция успешна.
- false — если произошла ошибка.
- WC_Order — объект с данными заказа.
- WC_Order_Refund — объект с данными возврата.
Если заказ был успешно получен, вы получите экземпляр объекта WC_Order, например:
```plaintext
WC_Order Object (
[order_type] => simple
[id] => 41863
[post] => WP_Post Object (
...
)
...
)
Использование
Вызывайте функцию wc_get_order() с идентификатором заказа, например:
$order = wc_get_order( $the_order );
Где $the_order — это объект поста или идентификатор заказа. По умолчанию принимает значение false.
Примеры
Пример 1: Получение элементов заказа
Чтобы получить элементы заказа, необходимо использовать специальные методы, относящиеся к классам:
WC_Order_ItemWC_Order_Item_Product
Это означает, что вы не можете получить элементы заказа напрямую из объекта WC_Order, только через специальные методы.
$order = wc_get_order( 65 );
$order_items = $order->get_items();
foreach( $order_items as $item_id => $item ) {
// Получаем ID элемента
$item_id = $item->get_id();
// Получаем имя продукта и его тип
$item_name = $item->get_name(); // Название продукта
$item_type = $item->get_type(); // Тип элемента заказа ("line_item")
$product_id = $item->get_product_id(); // ID продукта
$wc_product = $item->get_product(); // Объект WC_Product
// Данные элемента заказа в виде массива
$item_data = $item->get_data();
echo $item_data['name'];
echo $item_data['product_id'];
echo $item_data['quantity'];
...
}
Пример 2: Получение данных о заказе
$order_id = 35;
$order = wc_get_order( $order_id );
// Получаем ID заказа
$order_id = $order->get_id();
// Получаем ID клиента
$user_id = $order->get_user_id();
// Получаем элементы заказа
$order->get_items();
// Получаем данные заказа в виде массива
$data = $order->get_data();
echo $data['id'];
echo $data['status'];
...
Важно!
Метод get_data() работает с версии WooCommerce 3.0 и выше. Вот пример как получить дату создания заказа:
echo $data['date_created']->date('Y-m-d H:i:s');
Изменения
Функция WC_GET_ORDER() была введена в версии 2.2.