Tribe__Tickets_Plus__Commerce__WooCommerce__Main::get_order_data( int|WC_Order $order_id )
Retreive only order related information
Contents
order_id order_id_display order_id_link order_id_link_src order_status order_status_label order_warning purchaser_name purchaser_email provider provider_slug
Parameters
- $order_id
-
(int|WC_Order) (Required) The WooCommerce order ID or object.
Return
(array)
Source
File: src/Tribe/Commerce/WooCommerce/Main.php
public function get_order_data( $order_id ) {
$name = get_post_meta( $order_id, '_billing_first_name', true ) . ' ' . get_post_meta( $order_id, '_billing_last_name', true );
$email = get_post_meta( $order_id, '_billing_email', true );
$status = get_post_status( $order_id );
$order_status = 'wc-' === substr( $status, 0, 3 ) ? substr( $status, 3 ) : $status;
$order_status_label = wc_get_order_status_name( $order_status );
$order_warning = false;
// Warning flag for refunded, cancelled and failed orders
$warning_statues = tribe( 'tickets.status' )->get_statuses_by_action( 'warning', 'woo' );
if ( in_array( $status, $warning_statues, true ) ) {
$order_warning = true;
}
// Warning flag where the order post was trashed
if ( ! empty( $order_status ) && get_post_status( $order_id ) == 'trash' ) {
$order_status_label = sprintf( __( 'In trash (was %s)', 'event-tickets-plus' ), $order_status_label );
$order_warning = true;
}
// Warning flag where the order has been completely deleted
if ( empty( $order_status ) && ! get_post( $order_id ) ) {
$order_status_label = __( 'Deleted', 'event-tickets-plus' );
$order_warning = true;
}
$order = wc_get_order( $order_id );
$display_order_id = method_exists( $order, 'get_order_number' ) ? $order->get_order_number() : $order_id;
$order_link_src = esc_url( get_edit_post_link( $order_id, true ) );
$order_link = sprintf( '<a class="row-title" href="%s">%s</a>', $order_link_src, esc_html( $display_order_id ) );
$data = array(
'order_id' => $order_id,
'order_id_display' => $display_order_id,
'order_id_link' => $order_link,
'order_id_link_src' => $order_link_src,
'order_status' => $order_status,
'order_status_label' => $order_status_label,
'order_warning' => $order_warning,
'purchaser_name' => $name,
'purchaser_email' => $email,
'provider' => __CLASS__,
'provider_slug' => 'woo',
'purchase_time' => get_post_time( Tribe__Date_Utils::DBDATETIMEFORMAT, false, $order_id ),
);
/**
* Allow users to filter the Order Data
*
* @param array An associative array with the Information of the Order
* @param string What Provider is been used
* @param int Order ID
*
*/
$data = apply_filters( 'tribe_tickets_order_data', $data, 'woo', $order_id );
return $data;
}