Tribe__Tickets_Plus__Commerce__WooCommerce__Orders__Table::get_orders( int $event_id )
Get All Orders for an Event
Contents
Parameters
- $event_id
-
(int) (Required) The Event ID.
Return
(array|mixed)
Source
File: src/Tribe/Commerce/WooCommerce/Orders/Table.php
public static function get_orders( $event_id ) {
if ( ! $event_id ) {
return array();
}
if ( isset( self::$orders[ $event_id ] ) ) {
return self::$orders[ $event_id ];
}
WC()->api->includes();
WC()->api->register_resources( new WC_API_Server( '/' ) );
$product_ids = tribe( 'tickets-plus.commerce.woo' )->get_tickets_ids( $event_id );
$order_ids_by_ticket = self::retrieve_orders_ids_from_a_product_id( $product_ids );
foreach ( $order_ids_by_ticket as $ticket ) {
foreach ( $ticket as $order_id ) {
if ( empty( $order_id ) ) {
continue;
}
$order = WC()->api->WC_API_Orders->get_order( $order_id );
//prevent fatal error if no orders and on refund orders
if ( ! is_wp_error( $order ) && isset( $order['order'] ) ) {
$orders[ $order_id ] = $order['order'];
}
}
}
self::$orders[ $event_id ] = $orders;
return $orders;
}
Changelog
| Version | Description |
|---|---|
| 5.6.5 | Removed usage of WC REST API and make use of Order API to generate order data. |
| 4.10.4 | Introduced. |