From 78a6585f19392f519e8a0aaa543279485a9aacdf Mon Sep 17 00:00:00 2001 From: Claudio Sanches Date: Tue, 4 Jul 2017 14:01:17 -0300 Subject: [PATCH] [REST API] Allow unset product shipping_class Closes #15960 --- includes/api/class-wc-rest-products-controller.php | 8 +++----- includes/api/legacy/v2/class-wc-api-products.php | 8 +++----- includes/api/legacy/v3/class-wc-api-products.php | 8 +++----- includes/api/v1/class-wc-rest-products-controller.php | 8 +++----- 4 files changed, 12 insertions(+), 20 deletions(-) diff --git a/includes/api/class-wc-rest-products-controller.php b/includes/api/class-wc-rest-products-controller.php index ce0622abeac..fc82151a6df 100644 --- a/includes/api/class-wc-rest-products-controller.php +++ b/includes/api/class-wc-rest-products-controller.php @@ -1120,11 +1120,9 @@ class WC_REST_Products_Controller extends WC_REST_Legacy_Products_Controller { // Shipping class. if ( isset( $data['shipping_class'] ) ) { - $shipping_class_term = get_term_by( 'slug', wc_clean( $data['shipping_class'] ), 'product_shipping_class' ); - - if ( $shipping_class_term ) { - $product->set_shipping_class_id( $shipping_class_term->term_id ); - } + $data_store = $product->get_data_store(); + $shipping_class_id = $data_store->get_shipping_class_id_by_slug( wc_clean( $data['shipping_class'] ) ); + $product->set_shipping_class_id( $shipping_class_id ); } return $product; diff --git a/includes/api/legacy/v2/class-wc-api-products.php b/includes/api/legacy/v2/class-wc-api-products.php index 456effd95e5..5da8a802490 100644 --- a/includes/api/legacy/v2/class-wc-api-products.php +++ b/includes/api/legacy/v2/class-wc-api-products.php @@ -1494,11 +1494,9 @@ class WC_API_Products extends WC_API_Resource { // Shipping class if ( isset( $data['shipping_class'] ) ) { - $data_store = $product->get_data_store(); - $shipping_class_id = $data_store->get_shipping_class_id_by_slug( wc_clean( $data['shipping_class'] ) ); - if ( $shipping_class_id ) { - $product->set_shipping_class_id( $shipping_class_id ); - } + $data_store = $product->get_data_store(); + $shipping_class_id = $data_store->get_shipping_class_id_by_slug( wc_clean( $data['shipping_class'] ) ); + $product->set_shipping_class_id( $shipping_class_id ); } return $product; diff --git a/includes/api/legacy/v3/class-wc-api-products.php b/includes/api/legacy/v3/class-wc-api-products.php index b5cb392e8c5..6c13566ef2d 100644 --- a/includes/api/legacy/v3/class-wc-api-products.php +++ b/includes/api/legacy/v3/class-wc-api-products.php @@ -1998,11 +1998,9 @@ class WC_API_Products extends WC_API_Resource { // Shipping class if ( isset( $data['shipping_class'] ) ) { - $data_store = $product->get_data_store(); - $shipping_class_id = $data_store->get_shipping_class_id_by_slug( wc_clean( $data['shipping_class'] ) ); - if ( $shipping_class_id ) { - $product->set_shipping_class_id( $shipping_class_id ); - } + $data_store = $product->get_data_store(); + $shipping_class_id = $data_store->get_shipping_class_id_by_slug( wc_clean( $data['shipping_class'] ) ); + $product->set_shipping_class_id( $shipping_class_id ); } return $product; diff --git a/includes/api/v1/class-wc-rest-products-controller.php b/includes/api/v1/class-wc-rest-products-controller.php index f6a706c7bfa..daec209f297 100644 --- a/includes/api/v1/class-wc-rest-products-controller.php +++ b/includes/api/v1/class-wc-rest-products-controller.php @@ -932,11 +932,9 @@ class WC_REST_Products_V1_Controller extends WC_REST_Posts_Controller { // Shipping class. if ( isset( $data['shipping_class'] ) ) { - $shipping_class_term = get_term_by( 'slug', wc_clean( $data['shipping_class'] ), 'product_shipping_class' ); - - if ( $shipping_class_term ) { - $product->set_shipping_class_id( $shipping_class_term->term_id ); - } + $data_store = $product->get_data_store(); + $shipping_class_id = $data_store->get_shipping_class_id_by_slug( wc_clean( $data['shipping_class'] ) ); + $product->set_shipping_class_id( $shipping_class_id ); } return $product;