Tribe__Tickets_Plus__Commerce__EDD__Main::get_ticket( int $post_id, int $ticket_id )
Gets an individual ticket
Contents
Parameters
- $post_id
-
(int) (Required)
- $ticket_id
-
(int) (Required)
Return
Source
File: src/Tribe/Commerce/EDD/Main.php
public function get_ticket( $post_id, $ticket_id ) {
$product = edd_get_download( $ticket_id );
if ( ! $product ) {
return null;
}
$return = new Tribe__Tickets__Ticket_Object();
$purchased_statuses = tribe( 'tickets.status' )->get_statuses_by_action( 'count_completed', 'edd' );
$purchased = $this->stock_control->get_purchased_inventory( $ticket_id, $purchased_statuses );
$pending = $this->stock_control->count_incomplete_order_items( $ticket_id );
$product_stock = $this->get_stock_for_product( $product );
$stock = ( '' === $product_stock ) ? Tribe__Tickets__Ticket_Object::UNLIMITED_STOCK : $product_stock;
$return->description = $product->post_content;
$return->frontend_link = get_permalink( $ticket_id );
$return->ID = $ticket_id;
$return->name = $product->post_title;
$return->price = edd_get_download_price( $product->ID );
$return->provider_class = get_class( $this );
$return->admin_link = admin_url( sprintf( get_post_type_object( $product->post_type )->_edit_link . '&action=edit', $ticket_id ) );
$return->report_link = $this->get_ticket_reports_link( null, $ticket_id );
$return->show_description = $return->show_description();
$return->capacity = tribe_tickets_get_capacity( $ticket_id );
$start_date = get_post_meta( $ticket_id, '_ticket_start_date', true );
$end_date = get_post_meta( $ticket_id, '_ticket_end_date', true );
if ( ! empty( $start_date ) ) {
$start_date_unix = strtotime( $start_date );
$return->start_date = Tribe__Date_Utils::date_only( $start_date_unix, true );
$return->start_time = Tribe__Date_Utils::time_only( $start_date_unix );
}
if ( ! empty( $end_date ) ) {
$end_date_unix = strtotime( $end_date );
$return->end_date = Tribe__Date_Utils::date_only( $end_date_unix, true );
$return->end_time = Tribe__Date_Utils::time_only( $end_date_unix );
}
$return->manage_stock( is_numeric( $product_stock ) );
$return->global_stock_mode( get_post_meta( $ticket_id, Tribe__Tickets__Global_Stock::TICKET_STOCK_MODE, true ) );
$return->global_stock_cap( get_post_meta( $ticket_id, Tribe__Tickets__Global_Stock::TICKET_STOCK_CAP, true ) );
$return->stock( $stock );
$return->qty_sold( $purchased );
$return->qty_pending( $pending );
// Removes pendings from total sold
$return->qty_sold( $purchased - $pending );
/**
* Use this Filter to change any information you want about this ticket
*
* @param object $ticket
* @param int $post_id
* @param int $ticket_id
*/
$ticket = apply_filters( 'tribe_tickets_plus_edd_get_ticket', $return, $post_id, $ticket_id );
return $ticket;
}