/** * Updates the product sales if old and new order stati differ in stock size. * * @param int $order_id * @param string $attendee_order_status * @param int $ticket_id */ public function update_sales_by_order_status($order_id, $attendee_order_status, $ticket_id) { $rsvp_options = $this->tickets_view->get_rsvp_options(null, false); $previous_order_status = get_post_meta($order_id, self::ATTENDEE_RSVP_KEY, true); if (!(isset($rsvp_options[$previous_order_status]) && isset($rsvp_options[$attendee_order_status]))) { return; } $previous_order_status_stock_size = $rsvp_options[$previous_order_status]['decrease_stock_by']; $attendee_order_status_stock_size = $rsvp_options[$attendee_order_status]['decrease_stock_by']; if ($previous_order_status_stock_size == $attendee_order_status_stock_size) { return; } $sales = (int) get_post_meta($ticket_id, 'total_sales', true); $diff = $attendee_order_status_stock_size - $previous_order_status_stock_size; update_post_meta($ticket_id, 'total_sales', $sales + $diff); }