From 780ce1a4e6ce7fff11ccaf521d7773b82be459a6 Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Fri, 26 May 2017 18:42:07 -0300 Subject: [PATCH] Fixed deprecated `set_stock` notice --- ...ass-wc-product-csv-importer-controller.php | 4 +-- .../import/abstract-wc-product-importer.php | 29 ++++++++++++++----- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/includes/admin/importers/class-wc-product-csv-importer-controller.php b/includes/admin/importers/class-wc-product-csv-importer-controller.php index c9dc36359a3..454b8edc322 100644 --- a/includes/admin/importers/class-wc-product-csv-importer-controller.php +++ b/includes/admin/importers/class-wc-product-csv-importer-controller.php @@ -408,7 +408,7 @@ class WC_Product_CSV_Importer_Controller { 'date_on_sale_to' => __( 'Date sale price ends', 'woocommerce' ), 'tax_status' => __( 'Tax Class', 'woocommerce' ), 'stock_status' => __( 'In stock?', 'woocommerce' ), - 'stock' => __( 'Stock', 'woocommerce' ), + 'stock_quantity' => __( 'Stock', 'woocommerce' ), 'backorders' => __( 'Backorders allowed?', 'woocommerce' ), 'sold_individually' => __( 'Sold individually?', 'woocommerce' ), 'weight' => sprintf( __( 'Weight (%s)', 'woocommerce' ), $weight_unit ), @@ -531,7 +531,7 @@ class WC_Product_CSV_Importer_Controller { 'purchase_note' => __( 'Purchase Note', 'woocommerce' ), 'sale_price' => __( 'Sale Price', 'woocommerce' ), 'regular_price' => __( 'Regular Price', 'woocommerce' ), - 'stock' => __( 'Stock', 'woocommerce' ), + 'stock_quantity' => __( 'Stock', 'woocommerce' ), 'category_ids' => __( 'Categories', 'woocommerce' ), 'tag_ids' => __( 'Tags', 'woocommerce' ), 'shipping_class_id' => __( 'Shipping Class', 'woocommerce' ), diff --git a/includes/import/abstract-wc-product-importer.php b/includes/import/abstract-wc-product-importer.php index 4fb425c9b8f..4e732bf998a 100644 --- a/includes/import/abstract-wc-product-importer.php +++ b/includes/import/abstract-wc-product-importer.php @@ -134,7 +134,7 @@ abstract class WC_Product_Importer implements WC_Importer_Interface { /** * Prepare a single product for create or update. * - * @param array $data Row data. + * @param array $data Item data. * @return WC_Product|WP_Error */ protected function get_product_object( $data ) { @@ -192,7 +192,7 @@ abstract class WC_Product_Importer implements WC_Importer_Interface { unset( $data['manage_stock'], $data['stock_status'], $data['backorders'] ); } - $result = $object->set_props( array_diff_key( $data, array_flip( array( 'meta_data', 'raw_image_id', 'raw_gallery_image_ids', 'raw_attributes' ) ) ) ); + $result = $object->set_props( array_diff_key( $data, array_flip( array( 'meta_data', 'raw_image_id', 'raw_gallery_image_ids', 'raw_attributes', 'stock_quantity' ) ) ) ); if ( is_wp_error( $result ) ) { throw new Exception( $result->get_error_message() ); @@ -205,6 +205,7 @@ abstract class WC_Product_Importer implements WC_Importer_Interface { } $this->set_image_data( $object, $data ); + $this->set_stock_quantity( $object, $data ); $this->set_meta_data( $object, $data ); if ( 'importing' === $object->get_status() ) { @@ -226,8 +227,8 @@ abstract class WC_Product_Importer implements WC_Importer_Interface { /** * Convert raw image URLs to IDs and set. * - * @param WC_Product $product - * @param array $data + * @param WC_Product $product Product instance. + * @param array $data Item data. */ protected function set_image_data( &$product, $data ) { // Image URLs need converting to IDs before inserting. @@ -246,11 +247,23 @@ abstract class WC_Product_Importer implements WC_Importer_Interface { } } + /** + * Set stock quantity. + * + * @param WC_Product $product Product instance. + * @param array $data Item data. + */ + protected function set_stock_quantity( &$product, $data ) { + if ( isset( $data['stock_quantity'] ) && $product->get_manage_stock() ) { + wc_update_product_stock( $product, $data['stock_quantity'] ); + } + } + /** * Append meta data. * - * @param WC_Product $product - * @param array $data + * @param WC_Product $product Product instance. + * @param array $data Item data. */ protected function set_meta_data( &$product, $data ) { if ( isset( $data['meta_data'] ) ) { @@ -264,7 +277,7 @@ abstract class WC_Product_Importer implements WC_Importer_Interface { * Set product data. * * @param WC_Product $product Product instance. - * @param array $data Row data. + * @param array $data Item data. * * @return WC_Product|WP_Error * @throws Exception @@ -352,7 +365,7 @@ abstract class WC_Product_Importer implements WC_Importer_Interface { * Set variation data. * * @param WC_Product $variation Product instance. - * @param array $data Row data. + * @param array $data Item data. * * @return WC_Product|WP_Error * @throws Exception