Abstract_WC_Order_Data_Store_CPT::delete_items │ public │ WC 1.0

Remove all line items (products, coupons, shipping, taxes) from the order.

Метод класса: Abstract_WC_Order_Data_Store_CPT{}

Хуков нет.

Возвращает

null. Ничего (null).

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

$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) (обязательный)
Order object.
$type(строка)
Order item type.
По умолчанию: null

Код Abstract_WC_Order_Data_Store_CPT::delete_items() WC 11.2.2

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 );
}