diff --git a/includes/api/class-wc-api-products.php b/includes/api/class-wc-api-products.php index f96193837e9..0ff13de0c55 100644 --- a/includes/api/class-wc-api-products.php +++ b/includes/api/class-wc-api-products.php @@ -291,7 +291,9 @@ class WC_API_Products extends WC_API_Resource { return $this->get_product( $id ); } catch ( WC_API_Exception $e ) { + // Remove the product when fails $this->clear_product( $id ); + return new WP_Error( $e->getErrorCode(), $e->getMessage(), array( 'status' => $e->getCode() ) ); } } @@ -2319,8 +2321,8 @@ class WC_API_Products extends WC_API_Resource { */ protected function clear_product( $product_id ) { if ( ! is_numeric( $product_id ) || 0 >= $product_id ) { - return; - } + return; + } // Delete product attachments $attachments = get_children( array( diff --git a/includes/api/v2/class-wc-api-products.php b/includes/api/v2/class-wc-api-products.php index d14f8afb548..83741b83ceb 100644 --- a/includes/api/v2/class-wc-api-products.php +++ b/includes/api/v2/class-wc-api-products.php @@ -2320,7 +2320,7 @@ class WC_API_Products extends WC_API_Resource { * Clear product */ protected function clear_product( $product_id ) { - if ( 0 >= $product_id ) { + if ( ! is_numeric( $product_id ) || 0 >= $product_id ) { return; }