WC_Tracker::get_order_data()private staticWC 1.0

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 9.6.0

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' );
}