Support » Plugin: WooCommerce and 1C:Enterprise/1С:Предприятие Data Exchange » Обновил Woocommerce, стали пропадать скидки

  • Всем привет. Обновил Woocommerce с 3.5.x до 3.6.5. При полной синхронизации с 1С стали слетать цены распродажи (скидки), установленные вручную на сайте. Ранее было все ок, цены из 1С обновлялись, распродажные на сайте не трогались.

    Кто знает, что поменялось в механике цен WC и где копать?

Viewing 1 replies (of 1 total)
  • Эта проблема прослеживается в БД: «_sale_price» не обновляет значение в «_price». Значение “_price” становится как “_regular_price” после импорта в независимости от наличия скидки.

    Вот кусок кода из плагина/exchange/offers.php, который обрабатывает цены. Но я не вижу здесь то, что можно исправить:

    
      if (!is_null($price)) {
        $sale_price = @$current_post_meta['_sale_price'];
        $sale_price_from = @$current_post_meta['_sale_price_dates_from'];
        $sale_price_to = @$current_post_meta['_sale_price_dates_to'];
        if (empty($current_post_meta['_sale_price'])) {
          $post_meta['_price'] = $price;
        }
        else {
          if (empty($sale_price_from) && empty($sale_price_to)) {
            $post_meta['_price'] = $current_post_meta['_sale_price'];
          }
          else {
            $now = strtotime('now', current_time('timestamp'));
            if (!empty($sale_price_from) && strtotime($sale_price_from) < $now) {
              $post_meta['_price'] = $current_post_meta['_sale_price'];
            }
            if (!empty($sale_price_to) && strtotime($sale_price_to) < $now) {
              $post_meta['_price'] = $price;
              $post_meta['_sale_price_dates_from'] = '';
              $post_meta['_sale_price_dates_to'] = '';
            }
          }
        }
      }
    
Viewing 1 replies (of 1 total)
  • You must be logged in to reply to this topic.