diff --git a/includes/wc-product-functions.php b/includes/wc-product-functions.php index 267e19baf75..3858aeb1200 100644 --- a/includes/wc-product-functions.php +++ b/includes/wc-product-functions.php @@ -416,18 +416,19 @@ function wc_scheduled_sales() { $product_ids = $data_store->get_starting_sales(); if ( $product_ids ) { foreach ( $product_ids as $product_id ) { - $product = wc_get_product( $product_id ); - $sale_price = $product->get_sale_price(); + if ( $product = wc_get_product( $product_id ) ) { + $sale_price = $product->get_sale_price(); - if ( $sale_price ) { - $product->set_price( $sale_price ); - $product->set_date_on_sale_from( '' ); - } else { - $product->set_date_on_sale_to( '' ); - $product->set_date_on_sale_from( '' ); + if ( $sale_price ) { + $product->set_price( $sale_price ); + $product->set_date_on_sale_from( '' ); + } else { + $product->set_date_on_sale_to( '' ); + $product->set_date_on_sale_from( '' ); + } + + $product->save(); } - - $product->save(); } delete_transient( 'wc_products_onsale' ); @@ -437,13 +438,14 @@ function wc_scheduled_sales() { $product_ids = $data_store->get_ending_sales(); if ( $product_ids ) { foreach ( $product_ids as $product_id ) { - $product = wc_get_product( $product_id ); - $regular_price = $product->get_regular_price(); - $product->set_price( $regular_price ); - $product->set_sale_price( '' ); - $product->set_date_on_sale_to( '' ); - $product->set_date_on_sale_from( '' ); - $product->save(); + if ( $product = wc_get_product( $product_id ) ) { + $regular_price = $product->get_regular_price(); + $product->set_price( $regular_price ); + $product->set_sale_price( '' ); + $product->set_date_on_sale_to( '' ); + $product->set_date_on_sale_from( '' ); + $product->save(); + } } WC_Cache_Helper::get_transient_version( 'product', true );