Abstract_WC_Order_Data_Store_CPT::delete_items
Remove all line items (products, coupons, shipping, taxes) from the order.
Method of the class: Abstract_WC_Order_Data_Store_CPT{}
No Hooks.
Returns
null. Nothing (null).
Usage
$Abstract_WC_Order_Data_Store_CPT = new Abstract_WC_Order_Data_Store_CPT(); $Abstract_WC_Order_Data_Store_CPT->delete_items( $order, $type );
- $order(WC_Order) (required)
- Order object.
- $type(string)
- Order item type.
Default:null
Abstract_WC_Order_Data_Store_CPT::delete_items() Abstract WC Order Data Store CPT::delete items code WC 10.8.1
public function delete_items( $order, $type = null ) {
global $wpdb;
$order_id = $order->get_id();
if ( ! $order_id ) {
return;
}
if ( ! empty( $type ) ) {
$wpdb->query( $wpdb->prepare( "DELETE itemmeta FROM {$wpdb->prefix}woocommerce_order_itemmeta as itemmeta INNER JOIN {$wpdb->prefix}woocommerce_order_items as items WHERE itemmeta.order_item_id = items.order_item_id AND items.order_id = %d AND items.order_item_type = %s", $order_id, $type ) );
$wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->prefix}woocommerce_order_items WHERE order_id = %d AND order_item_type = %s", $order_id, $type ) );
} else {
$wpdb->query( $wpdb->prepare( "DELETE itemmeta FROM {$wpdb->prefix}woocommerce_order_itemmeta as itemmeta INNER JOIN {$wpdb->prefix}woocommerce_order_items as items WHERE itemmeta.order_item_id = items.order_item_id and items.order_id = %d", $order_id ) );
$wpdb->query( $wpdb->prepare( "DELETE FROM {$wpdb->prefix}woocommerce_order_items WHERE order_id = %d", $order_id ) );
}
$this->clear_caches( $order );
}