WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru Самая быстрая Тема-конструктор для WordPress
функция не описана

WC_Post_Data::before_delete_order() public WC 3.2.0

Before deleting an order, do some cleanup.

{} Это метод класса: WC_Post_Data{}

Хуков нет.

Возвращает

Null. Ничего.

Использование

$result = WC_Post_Data::before_delete_order( $order_id );
$order_id(число) (обязательный)
Order ID.

Список изменений

С версии 3.2.0 Введена.

Код WC_Post_Data::before_delete_order() WC 4.6.1

<?php
public static function before_delete_order( $order_id ) {
	if ( in_array( get_post_type( $order_id ), wc_get_order_types(), true ) ) {
		// 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 meta.
			delete_user_meta( $customer_id, '_order_count' );
		}

		// Clean up items.
		self::delete_order_items( $order_id );
		self::delete_order_downloadable_permissions( $order_id );
	}
}