From 63fd2b485067f6e34ee7c0ee7723528c7cb22460 Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Mon, 26 Jan 2026 09:00:21 +0300 Subject: [PATCH] =?UTF-8?q?Dmitriy=20|=20fix:=20=D0=9F=D0=BE=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D0=BB=20=D1=83=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B0=D0=BA=D1=86=D0=B8=D0=BE=D0=BD=D0=BD=D0=BE?= =?UTF-8?q?=D0=B9=20=D1=86=D0=B5=D0=BD=D1=8B.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Services/WCPriceUpdate.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/src/Services/WCPriceUpdate.php b/src/Services/WCPriceUpdate.php index 5471735..e937017 100644 --- a/src/Services/WCPriceUpdate.php +++ b/src/Services/WCPriceUpdate.php @@ -46,14 +46,18 @@ class WCPriceUpdate { if ($price["regular"] <= $price["new"]) { $product->set_regular_price($price["new"]); + // Полностью очищаем акционную цену if ($price["sale"] > 0) { - $product->set_sale_price(0); + $product = self::clearSalePrice($product); } } else { - $product->set_sale_price($price["new"]); + if ($price["new"] == 0) { + $product = self::clearSalePrice($product); + } else { + $product->set_sale_price($price["new"]); + } } - $product->save(); $result[] = [ @@ -73,4 +77,12 @@ class WCPriceUpdate { return $result; } + + private static function clearSalePrice($product) { + $product->set_sale_price(""); + $product->set_date_on_sale_from(""); + $product->set_date_on_sale_to(""); + + return $product; + } } \ No newline at end of file