Tribe__Tickets__RSVP::find_updated_sales_or_stock_value( $order_id, $attendee_order_status, $ticket_id, $meta )
Get updated value for stock or sales, based on order status
Contents
Parameters
- $order_id
-
(Required)
- $attendee_order_status
-
(Required)
- $ticket_id
-
(Required)
- $meta
-
(Required)
Return
(bool|int|mixed) get updated value, return false if no need to update
Source
File: src/Tribe/RSVP.php
public function find_updated_sales_or_stock_value( $order_id, $attendee_order_status, $ticket_id, $meta ) {
$rsvp_options = $this->tickets_view->get_rsvp_options( null, false );
$status_stock_sizes = $this->stati_are_different( $order_id, $attendee_order_status );
if ( empty( $status_stock_sizes ) ) {
return false;
}
$diff = $status_stock_sizes['attendee_stock_size'] - $status_stock_sizes['previous_stock_size'];
if ( 0 === $diff ) {
return false;
}
$meta_value = (int) get_post_meta( $ticket_id, $meta, true );
if ( 'total_sales' === $meta ) {
$new_value = $meta_value + $diff;
} else {
// When we increase sales, we reduce stock
$new_value = $meta_value - $diff;
// stock can NEVER exceed capacity
$capacity = get_post_meta( $ticket_id, '_tribe_ticket_capacity', true );
$new_value = ( $new_value > $capacity ) ? $capacity : $new_value;
}
return $new_value;
}
Changelog
| Version | Description |
|---|---|
| 4.7.4 | Introduced. |