WC_Post_Data::before_delete_order()
Before deleting an order, do some cleanup.
Метод класса: WC_Post_Data{}
Хуков нет.
Возвращает
null
. Ничего (null).
Использование
$result = WC_Post_Data::before_delete_order( $order_id );
- $order_id(int) (обязательный)
- Order ID.
Список изменений
С версии 3.2.0 | Введена. |
Код WC_Post_Data::before_delete_order() WC Post Data::before delete order WC 9.6.0
public static function before_delete_order( $order_id ) { if ( OrderUtil::is_order( $order_id, wc_get_order_types() ) ) { // Clean up user. $order = wc_get_order( $order_id ); // Check for `get_customer_id`, since this may be e.g. a refund order (which doesn't implement it). $customer_id = is_callable( array( $order, 'get_customer_id' ) ) ? $order->get_customer_id() : 0; if ( $customer_id > 0 && 'shop_order' === $order->get_type() ) { $customer = new WC_Customer( $customer_id ); $order_count = $customer->get_order_count(); $order_count --; if ( 0 === $order_count ) { $customer->set_is_paying_customer( false ); $customer->save(); } // Delete order count and last order meta. delete_user_meta( $customer_id, '_order_count' ); delete_user_meta( $customer_id, '_last_order' ); } // Clean up items. self::delete_order_items( $order_id ); self::delete_order_downloadable_permissions( $order_id ); } }