Ticket::modify_counters_by_status( TECTicketsCommerceStatusStatus_Interface $new_status, TECTicketsCommerceStatusStatus_Interface|null $old_status, WP_Post $post )
Modify the counters for all the tickets involved on this particular order.
Contents
Parameters
- $new_status
-
(TECTicketsCommerceStatusStatus_Interface) (Required) New post status.
- $old_status
-
(TECTicketsCommerceStatusStatus_Interface|null) (Required) Old post status.
- $post
-
(WP_Post) (Required) Post object.
Source
File: src/Tickets/Commerce/Ticket.php
public function modify_counters_by_status( $new_status, $old_status, $post ) {
$order = tec_tc_get_order( $post );
// This should never be the case, but lets be safe.
if ( empty( $order->items ) ) {
return;
}
foreach ( $order->items as $item ) {
$ticket_id = $item['ticket_id'];
$new_status_meta_key = static::get_status_count_meta_key( $new_status );
$current_new_status_qty = get_post_meta( $ticket_id, $new_status_meta_key, true );
if ( ! $current_new_status_qty ) {
$current_new_status_qty = 0;
}
update_post_meta( $ticket_id, $new_status_meta_key, (int) $current_new_status_qty + $item['quantity'] );
if ( $old_status ) {
$old_status_meta_key = static::get_status_count_meta_key( $old_status );
$current_old_status_qty = get_post_meta( $ticket_id, $old_status_meta_key, true );
if ( ! $current_old_status_qty ) {
$current_old_status_qty = 0;
}
update_post_meta( $ticket_id, $old_status_meta_key, max( 0, (int) $current_old_status_qty - $item['quantity'] ) );
}
}
}
Changelog
| Version | Description |
|---|---|
| 5.2.0 | Introduced. |