Ticket::get_ticket( int|WP_Post $ticket_id )
Gets an individual ticket.
Contents
Parameters
- $ticket_id
-
(int|WP_Post) (Required)
Return
Source
File: src/Tickets/Commerce/Ticket.php
public function get_ticket( $ticket_id ) {
$product = get_post( $ticket_id );
if ( ! $product ) {
return null;
}
if ( static::POSTTYPE !== get_post_type( $product ) ) {
return null;
}
$event_id = get_post_meta( $ticket_id, static::$event_relation_meta_key, true );
$return = new \Tribe__Tickets__Ticket_Object();
$return->description = $product->post_excerpt;
$return->ID = $ticket_id;
$return->name = $product->post_title;
$return->menu_order = $product->menu_order;
$return->post_type = $product->post_type;
$return->price = get_post_meta( $ticket_id, '_price', true );
$return->provider_class = Module::class;
$return->admin_link = '';
$return->show_description = $return->show_description();
$return->start_date = get_post_meta( $ticket_id, '_ticket_start_date', true );
$return->end_date = get_post_meta( $ticket_id, '_ticket_end_date', true );
$return->start_time = get_post_meta( $ticket_id, '_ticket_start_time', true );
$return->end_time = get_post_meta( $ticket_id, '_ticket_end_time', true );
$return->sku = get_post_meta( $ticket_id, '_sku', true );
$qty_sold = get_post_meta( $ticket_id, static::$sales_meta_key, true );
// If the quantity sold wasn't set, default to zero
$qty_sold = $qty_sold ? $qty_sold : 0;
// Ticket stock is a simple reflection of remaining inventory for this item...
$stock = (int) get_post_meta( $ticket_id, '_stock', true );
// If we don't have a stock value, then stock should be considered 'unlimited'
if ( null === $stock ) {
$stock = - 1;
}
$return->manage_stock( 'yes' === get_post_meta( $ticket_id, '_manage_stock', true ) );
$return->stock( $stock );
$return->global_stock_mode( get_post_meta( $ticket_id, \Tribe__Tickets__Global_Stock::TICKET_STOCK_MODE, true ) );
$capped = get_post_meta( $ticket_id, \Tribe__Tickets__Global_Stock::TICKET_STOCK_CAP, true );
if ( '' !== $capped ) {
$return->global_stock_cap( $capped );
}
$qty_cancelled = $this->get_cancelled( $ticket_id );
// Manually add cancelled to sold so that we can remove it correctly later when calculating.
$return->qty_sold( $qty_sold + $qty_cancelled );
$return->qty_cancelled( $qty_cancelled );
$pending = $this->get_qty_pending( $ticket_id );
$return->qty_pending( $pending );
/**
* Use this Filter to change any information you want about this ticket
*
* @since 5.1.9
*
* @param object $ticket
* @param int $post_id
* @param int $ticket_id
*/
$return = apply_filters( 'tec_tickets_commerce_get_ticket_legacy', $return, $event_id, $ticket_id );
return $return;
}
Changelog
| Version | Description |
|---|---|
| 5.1.9 | Introduced. |