WC_Tracker::get_order_data
Fetch main order data.
Метод класса: WC_Tracker{}
Хуков нет.
Возвращает
Массив. Found orders indexed by ID.
Использование
$result = WC_Tracker::get_order_data( $sort_order, $limit );
- $sort_order(строка)
- Date sort order (ASC or DESC).
По умолчанию: 'ASC' - $limit(int)
- Limit the amount of orders to return (default 20).
По умолчанию: 20
Код WC_Tracker::get_order_data() WC Tracker::get order data WC 10.4.3
private static function get_order_data( $sort_order = 'ASC', $limit = 20 ) {
global $wpdb;
if ( OrderUtil::custom_orders_table_usage_is_enabled() ) {
$order_table_name = OrdersTableDataStore::get_orders_table_name();
// phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared
$orders = $wpdb->get_results(
"SELECT
id,
row_number() OVER (ORDER BY date_created_gmt) AS order_rank,
date_created_gmt AS order_created_at,
date_updated_gmt AS order_updated_at,
currency,
total_amount,
payment_method,
payment_method_title
FROM $order_table_name
WHERE
type = 'shop_order'
AND status IN ('wc-completed', 'wc-refunded')
ORDER BY date_created_gmt $sort_order
LIMIT $limit;",
ARRAY_A
);
// phpcs:enable
} else {
// phpcs:disable WordPress.DB.PreparedSQL.InterpolatedNotPrepared
$orders = $wpdb->get_results(
"SELECT
ID AS id,
row_number() OVER (ORDER BY post_date_gmt) AS order_rank,
post_date_gmt AS order_created_at,
post_modified_gmt AS order_updated_at
FROM $wpdb->posts
WHERE
post_type = 'shop_order'
AND post_status IN ('wc-completed', 'wc-refunded')
ORDER BY post_date_gmt $sort_order
LIMIT $limit;",
ARRAY_A
);
// phpcs:enable
}
return array_column( $orders, null, 'id' );
}