[HPOS] Move hook `woocommerce_before_delete_order` before `woocommerce_before_delete_order` (#35517)

🧑‍💻 Move hook woocommerce_before_delete_order before deleting order
This commit is contained in:
Panos (Panagiotis Synetos) 2022-11-10 19:39:26 +02:00 committed by GitHub
parent 0b52411ff7
commit 7cd1a03043
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 7 deletions

View File

@ -0,0 +1,4 @@
Significance: patch
Type: tweak
Move HPOS hook woocommerce_before_delete_order before deleting order.

View File

@ -1732,13 +1732,6 @@ FROM $order_meta_table
}
if ( ! empty( $args['force_delete'] ) ) {
$this->delete_order_data_from_custom_order_tables( $order_id );
$order->set_id( 0 );
// If this datastore method is called while the posts table is authoritative, refrain from deleting post data.
if ( ! is_a( $order->get_data_store(), self::class ) ) {
return;
}
/**
* Fires immediately before an order is deleted from the database.
@ -1750,6 +1743,14 @@ FROM $order_meta_table
*/
do_action( 'woocommerce_before_delete_order', $order_id, $order );
$this->delete_order_data_from_custom_order_tables( $order_id );
$order->set_id( 0 );
// If this datastore method is called while the posts table is authoritative, refrain from deleting post data.
if ( ! is_a( $order->get_data_store(), self::class ) ) {
return;
}
// Delete the associated post, which in turn deletes order items, etc. through {@see WC_Post_Data}.
// Once we stop creating posts for orders, we should do the cleanup here instead.
wp_delete_post( $order_id );