WooCommerce получить все заказы сайта или пользователя

Иногда может потребоваться получить все заказы сайта или конкретного пользователя, для этого нам понадобится функция WC_Order_Query()

для получения id заказов сайта

<?php
    $query = new WC_Order_Query(
        array(
            'limit' => 10, // указываем количество выводимых заказов, -1 вывести все
            'orderby' => 'date',
            'order' => 'DESC', // Возможные значения 'DESC', 'ASC'  и rand'
            'date_created' => '<' . ( time() - HOUR_IN_SECONDS ),// получить заказы до нужной даты
            'return' => 'ids', // получаем только id заказов так же можно получить объект заказа возможные значения 'ids' и 'objects
            'status' => 'completed',// нужный нам статус заказов. Возможные статусы заказа, pending || processing || on-hold || completed || cancelled || refunded || failed
            'currency' => 'USD',//нужная валюта 
        )
    );
    print_r($query);

возвращаемое значение

Array
(
    [0] => 296
    [1] => 294
    [2] => 292
)

получаем id всех заказов пользователя

<?php
    $query = new WC_Order_Query(
        array(
            'limit' => -1, //указываем количество выводимых заказов, -1 вывести все
            'orderby' => 'date',
            'order' => 'DESC',
            'return' => 'ids', //получаем только id заказов
            'status' => 'completed',// нужный нам статус заказов. Возможные статусы заказа, pending || processing || on-hold || completed || cancelled || refunded || failed
            'customer_id' => $user_id, // id пользователя
            'customer' => 'woocommerce@woocommerce.com',// так же можно получать заказы по почте пользователя
        )
    );
    print_r($query);

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вы можете использовать HTML- теги и атрибуты:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>