Beispiel #1
0
 /**
  * Set price
  *
  * @since 1.1.0
  *
  * @access protected
  *
  * @return mixed
  */
 protected function set_price()
 {
     $this->set_variant();
     $this->set_price_callback();
     $this->set_product();
     if (is_callable($this->price_callback)) {
         $variant = $this->variant;
         if (is_array($variant)) {
             $variation = price::get_price_variation($variant);
             $base_price = (double) call_user_func($this->price_callback, $this->product->ID);
             if (0 == $base_price || 0 == $variation) {
                 $this->price = ingot_sanitize_amount($base_price);
             }
             $price = price::apply_variation($variation, $base_price);
             if ($price < 0) {
                 $this->price = ingot_sanitize_amount($base_price);
             }
             $this->price = ingot_sanitize_amount($price);
         }
     }
 }